Indra OCR
by datalab-toco.huggingface.datalab-to/indra-ocr
1M-param ONNX OCR that turns PDFs and images into markdown
- Remote endpoint
- 2 tools
Uptime
Checked · every day
100%from 4 days of checks
Up without downtime on 4 of 4 days with data.
- No downtime
- Degraded
- Down over 5 minutes
- No data
- Not checked yet
Response time
Median 1043 ms, slowest 5% 1187 ms for the handshake and the tool list, over 30 days.
How far each check got
- Reached the address 100%
- Completed the handshake 100%
- Listed its tools 100%
2 tools at the last answer.
Every day
| Day | Result | Checks | Median |
|---|---|---|---|
| 3 Nov (today) | No downtime | 1 | 923 ms |
| 2 Nov | No downtime | 1of 1 | 1042 ms |
| 1 Nov | No downtime | 1of 1 | 1187 ms |
| 31 Oct | No downtime | 2 | 985 ms |
A failure counts as down time only when a second check five minutes later fails too. How we check
Connect to the publisher's own endpoint
Paste into Settings › Connectors › Add custom connector:
https://datalab-to-indra-ocr.hf.space/gradio_api/mcp/sse Run in a terminal:
claude mcp add --transport sse indra-ocr https://datalab-to-indra-ocr.hf.space/gradio_api/mcp/sse Add to ~/.cursor/mcp.json:
Add to ~/.config/devin/mcp_config.json:
Add to mcp.json (Program › Install › Edit mcp.json):
Add to ~/.gemini/settings.json:
Add to config.json in oterm's data folder (~/Library/Application Support/oterm on macOS, ~/.local/share/oterm on Linux, %APPDATA%\oterm on Windows):
Add to ~/.config/eca/config.json (global) or .eca/config.json in the project:
{
"mcpServers": {
"indra-ocr": {
"url": "https://datalab-to-indra-ocr.hf.space/gradio_api/mcp/sse"
}
}
} Add to .vscode/mcp.json:
{
"servers": {
"indra-ocr": {
"type": "sse",
"url": "https://datalab-to-indra-ocr.hf.space/gradio_api/mcp/sse"
}
}
} Add to ~/.config/zed/settings.json:
{
"context_servers": {
"indra-ocr": {
"url": "https://datalab-to-indra-ocr.hf.space/gradio_api/mcp/sse"
}
}
} This server's endpoint speaks only SSE, which this client's documentation does not list among its transports; use another client for it.
Add to cline_mcp_settings.json (MCP Servers › Configure › Configure MCP Servers):
Add to anythingllm_mcp_servers.json in the AnythingLLM storage plugins directory:
Add to Augment Settings Panel – MCP section – Import from JSON (VS Code extension):
{
"mcpServers": {
"indra-ocr": {
"type": "sse",
"url": "https://datalab-to-indra-ocr.hf.space/gradio_api/mcp/sse"
}
}
} Add to ~/.continue/config.yaml:
mcpServers:
- name: "indra-ocr"
type: sse
url: "https://datalab-to-indra-ocr.hf.space/gradio_api/mcp/sse" Add to ~/.config/goose/config.yaml:
extensions:
"indra-ocr":
type: streamable_http
name: "indra-ocr"
enabled: true
uri: "https://datalab-to-indra-ocr.hf.space/gradio_api/mcp/sse"
headers: {}
env_keys: []
envs: {}
timeout: 300 This server's endpoint speaks only SSE, which this client's documentation does not list among its transports; use another client for it.
Run in a terminal:
codex mcp add indra-ocr --url https://datalab-to-indra-ocr.hf.space/gradio_api/mcp/sse This server's endpoint speaks only SSE, which this client's documentation does not list among its transports; use another client for it.
Add to ~/.llm/config.json:
Add to resources/assets/config/mcp.json in the installed app:
Add to ~/.boltai/mcp.json:
Add to ~/.bob/settings/mcp.json (global) or .bob/mcp.json (project):
Add to ~/.kiro/settings/mcp.json (user) or .kiro/settings/mcp.json (workspace):
Add to ~/.kiro/settings/mcp.json (user) or .kiro/settings/mcp.json (workspace):
{
"mcpServers": {
"indra-ocr": {
"url": "https://datalab-to-indra-ocr.hf.space/gradio_api/mcp/sse"
}
}
} This server's endpoint speaks only SSE, which this client's documentation does not list among its transports; use another client for it.
Add to ~/.config/agenvoy/mcp.json:
{
"servers": {
"indra-ocr": {
"url": "https://datalab-to-indra-ocr.hf.space/gradio_api/mcp/sse"
}
}
} This server's endpoint speaks only SSE, which this client's documentation does not list among its transports; use another client for it.
Add to ~/.config/amp/settings.json (user) or .amp/settings.json (workspace):
{
"amp.mcpServers": {
"indra-ocr": {
"url": "https://datalab-to-indra-ocr.hf.space/gradio_api/mcp/sse"
}
}
} For agents: the install prompt
Every step above as one Markdown text, for an assistant installing it for you.
# Install the MCP server Indra OCR (`co.huggingface.datalab-to/indra-ocr`)
Its page: https://plug.directory/servers/co.huggingface.datalab-to/indra-ocr
It runs on the publisher's servers; the client connects to its URL.
Use the section for the person's client.
## Claude Desktop
Paste into Settings › Connectors › Add custom connector:
```text
https://datalab-to-indra-ocr.hf.space/gradio_api/mcp/sse
```
## Claude Code
Run in a terminal:
```sh
claude mcp add --transport sse indra-ocr https://datalab-to-indra-ocr.hf.space/gradio_api/mcp/sse
```
## Cursor, Devin Desktop, LM Studio, Gemini CLI, oterm, ECA
Merge into the place for the person's client:
- Cursor: ~/.cursor/mcp.json
- Devin Desktop: ~/.config/devin/mcp_config.json
- LM Studio: mcp.json (Program › Install › Edit mcp.json)
- Gemini CLI: ~/.gemini/settings.json
- oterm: config.json in oterm's data folder (~/Library/Application Support/oterm on macOS, ~/.local/share/oterm on Linux, %APPDATA%\oterm on Windows)
- ECA: ~/.config/eca/config.json (global) or .eca/config.json in the project
```json
{
"mcpServers": {
"indra-ocr": {
"url": "https://datalab-to-indra-ocr.hf.space/gradio_api/mcp/sse"
}
}
}
```
## VS Code
Merge into .vscode/mcp.json:
```json
{
"servers": {
"indra-ocr": {
"type": "sse",
"url": "https://datalab-to-indra-ocr.hf.space/gradio_api/mcp/sse"
}
}
}
```
## Zed
This server's endpoint speaks only SSE, which this client's documentation does not list among its transports; use another client for it.
## Cline, AnythingLLM, Augment Code
Merge into the place for the person's client:
- Cline: cline_mcp_settings.json (MCP Servers › Configure › Configure MCP Servers)
- AnythingLLM: anythingllm_mcp_servers.json in the AnythingLLM storage plugins directory
- Augment Code: Augment Settings Panel – MCP section – Import from JSON (VS Code extension)
```json
{
"mcpServers": {
"indra-ocr": {
"type": "sse",
"url": "https://datalab-to-indra-ocr.hf.space/gradio_api/mcp/sse"
}
}
}
```
## Continue
Merge into ~/.continue/config.yaml:
```yaml
mcpServers:
- name: "indra-ocr"
type: sse
url: "https://datalab-to-indra-ocr.hf.space/gradio_api/mcp/sse"
```
## Goose
This server's endpoint speaks only SSE, which this client's documentation does not list among its transports; use another client for it.
## Codex
This server's endpoint speaks only SSE, which this client's documentation does not list among its transports; use another client for it.
## mcp-client-cli, TUUI, BoltAI, Bob Shell, Kiro, Kiro CLI
This server's endpoint speaks only SSE, which this client's documentation does not list among its transports; use another client for it.
## Agenvoy
This server's endpoint speaks only SSE, which this client's documentation does not list among its transports; use another client for it.
## Amp
Merge into ~/.config/amp/settings.json (user) or .amp/settings.json (workspace):
```json
{
"amp.mcpServers": {
"indra-ocr": {
"url": "https://datalab-to-indra-ocr.hf.space/gradio_api/mcp/sse"
}
}
}
```
Then restart the client, or reload its MCP servers, and ask it to list the server's tools to confirm it started.
Tools 2
indra_ocr_convert_fileRead a PDF or image document: markdown / plain text / JSON, with layout. Indra OCR detects every text line and every layout block (headings, lists, tables, captions, footnotes...), orders them for reading, and writes the page as markdown. Digital PDFs are read through their own text layer where it passes Indra's checks; scans and images go through the OCR models. If a user passes a file as an input, use the upload_file_to_gradio tool, if present, to upload the file to the gradio app and create a Gradio File Input. Then use the returned path as the input to the toolindra_ocr_convert_file_1Read a PDF or image document: markdown / plain text / JSON, with layout. Indra OCR detects every text line and every layout block (headings, lists, tables, captions, footnotes...), orders them for reading, and writes the page as markdown. Digital PDFs are read through their own text layer where it passes Indra's checks; scans and images go through the OCR models. If a user passes a file as an input, use the upload_file_to_gradio tool, if present, to upload the file to the gradio app and create a Gradio File Input. Then use the returned path as the input to the tool
From Hugging Face Spaces. Report a problem