{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_wchd9azznfeq","handle":"search-excel-mcp","url":"https://wellknown.network/agents/search-excel-mcp","links":{"self":"https://wellknown.network/agents/search-excel-mcp/record.json","html":"https://wellknown.network/agents/search-excel-mcp","markdown":"https://wellknown.network/agents/search-excel-mcp/record.md","api":"https://wellknown.network/api/v1/agents/search-excel-mcp","status":"https://wellknown.network/api/v1/agents/search-excel-mcp/status","claim":"https://wellknown.network/agents/search-excel-mcp/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/search-excel-mcp/claim.json","badge":"https://wellknown.network/agents/search-excel-mcp/badge.svg","openapi":"https://wellknown.network/openapi.json"},"ard":{"identifier":"urn:air::server:search-excel-mcp","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"search-excel-mcp","summary":"Local MCP server for querying Excel files (heavy merged cells, multi-language text) via DuckDB and substring search. No LLM/embedding required.","description":"# search-excel-mcp\n\nLocal MCP server that lets any MCP client (Claude Code, Cursor, Claude Desktop, Cline, …) query complex Excel files (heavy merged cells, large size, multi-language text including CJK) via SQL and substring search — **no API keys, no embeddings, no GPU**.\n\nBuilt with [FastMCP](https://github.com/jlowin/fastmcp) + [DuckDB](https://duckdb.org) + [openpyxl](https://openpyxl.readthedocs.io) + [pyarrow](https://arrow.apache.org/).\n\n---\n\n## Why this exists\n\nDocumentation-style Excel files (external design docs, report specs, requirements sheets) typically have thousands of merged cells per sheet, 20–100 MB per file, and multi-language text where most FTS tokenizers fail.\n\nStandard RAG (embeddings + vector store) needs an LLM or embedding model that you can't always run locally. Your MCP client is the reasoning layer; this server just gives it accurate structured access to cells via DuckDB.\n\n## Install\n\n```bash\npip install search-excel-mcp\n# or run without install:\nuvx search-excel-mcp\n```\n\n## Configure your MCP client\n\nAdd to the client's MCP config file. Common locations:\n\n| Client | Config path |\n|---|---|\n| Claude Code | `~/.claude/mcp.json` (global) or `<project>/.mcp.json` (project-local) |\n| Cursor | `~/.cursor/mcp.json` (global) or `<project>/.cursor/mcp.json` (project-local) |\n| Claude Desktop (macOS) | `~/Library/Application Support/Claude/claude_desktop_config.json` |\n| Cline / other | see your client's docs |\n\nConfig entry (same JSON shape for all):\n\n```json\n{\n  \"mcpServers\": {\n    \"search-excel\": {\n      \"command\": \"uvx\",\n      \"args\": [\"search-excel-mcp\"],\n      \"env\": {\n        \"SEARCH_EXCEL_DATA_DIR\": \"/absolute/path/to/your/excel/folder\"\n      }\n    }\n  }\n}\n```\n\nOnly `SEARCH_EXCEL_DATA_DIR` is required. The DuckDB cache is placed under your OS-standard app data folder (e.g. `~/Library/Application Support/search-excel-mcp/data.duckdb` on macOS) — override with `SEARCH_EXCEL_DB` if you want it elsewhere.\n\nRestart your MCP client → the `se…","publisher":null,"homepage":"https://github.com/your-org/search-excel-mcp","repository":"https://github.com/your-org/search-excel-mcp","version":"0.1.0","license":"MIT","protocols":["mcp"],"tags":["cjk","claude","duckdb","excel","fastmcp","japanese","mcp","rag"],"pricing":null,"endpoints":[{"url":"pypi:search-excel-mcp","type":"package_pypi","auth":null,"probeable":false}],"skills":null,"tools":null,"extra":null,"attribution":{"kind":"pypi","name":"pypi","license":"pypi","repoUrl":"pypi","summary":"pypi","version":"pypi","description":"pypi","homepageUrl":"pypi"}},"derived":{"capabilities":[{"slug":"documents.spreadsheets","name":"Spreadsheets","confidence":1,"provenance":"declared"},{"slug":"data.vector-search","name":"Vector Search","confidence":1,"provenance":"declared"},{"slug":"data.database","name":"Databases","confidence":0.733,"provenance":"derived"}],"categories":["data","documents"],"language":"en"},"observed":{"status":"unknown","statusReason":"Distributed as a package to run locally; no network endpoint to check.","lastOkAt":null,"lastProbedAt":null,"statusComputedAt":null,"reliability30d":null,"latestObservations":[],"tools":null,"package":{"name":"search-excel-mcp","registry":"pypi","observedAt":"2026-09-10T12:23:14.754Z","publishedAt":"2026-05-26T06:57:37.614915Z","latestVersion":"0.1.0"}},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"pypi","key":"search-excel-mcp","url":"https://pypi.org/project/search-excel-mcp/","firstSeenAt":"2026-09-10T12:21:11.271Z","fetchedAt":"2026-09-10T12:21:11.271Z","normalizedAt":"2026-09-10T12:21:11.271Z"}]},"firstSeenAt":"2026-09-10T12:21:11.271Z","updatedAt":"2026-09-10T12:23:14.754Z"}