{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_6t82crfhcxgc","handle":"narrow-mcp","url":"https://wellknown.network/agents/narrow-mcp","links":{"self":"https://wellknown.network/agents/narrow-mcp/record.json","html":"https://wellknown.network/agents/narrow-mcp","markdown":"https://wellknown.network/agents/narrow-mcp/record.md","api":"https://wellknown.network/api/v1/agents/narrow-mcp","status":"https://wellknown.network/api/v1/agents/narrow-mcp/status","claim":"https://wellknown.network/agents/narrow-mcp/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/narrow-mcp/claim.json","badge":"https://wellknown.network/agents/narrow-mcp/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/narrow-mcp/history","tools":"https://wellknown.network/api/v1/agents/narrow-mcp/tools"},"ard":{"identifier":"urn:air::server:narrow-mcp","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"narrow-mcp","summary":"MCP server that narrows large low-density files (logs, CSV, JSON, HTML) to the verbatim spans relevant to an intent, verified against source.","description":"# narrow-mcp\n\n<!-- mcp-name: io.github.manik-prakash/narrow-mcp -->\n\nAn MCP server that narrows large, low-density non-source files (logs, test\noutput, CSV, JSON, HTML) down to the verbatim spans relevant to a stated\nintent -- verified against the original file, never a summary.\n\n## Why\n\nCoding agents burn context reading large low-density files. A 40k-token log\nmight hold a few hundred tokens of signal. This tool:\n\n1. Runs deterministic narrowing first (grep-style search, structural\n   parsing per file type, sampling) -- free, fast, zero LLM cost.\n2. If that alone resolves the query with confidence (e.g. an exact CSV\n   \"null column\" query), returns it directly. No LLM call at all.\n3. Otherwise passes only the narrowed candidates (never the raw file) to a\n   cheap, fast selector model that returns line ranges and a one-line\n   reason -- never prose.\n4. Re-reads the chosen line ranges from the **original file on disk** and\n   returns that verbatim text. The selector's own words are never trusted\n   or returned -- only its line-number coordinates, which get verified.\n5. If the selector fails, times out, or returns something invalid, falls\n   back to the deterministic candidate set rather than failing outright.\n\nNon-goals: source code retrieval (use LSP/tree-sitter/ast-grep), prose\nsummarization, local/self-hosted models.\n\n## Status\n\nv1, single file per call. Four file types: log/build-output, CSV, JSON\n(single document or JSONL), HTML.\n\n## Development\n\n```\npip install -e \".[dev]\"\npytest\npython eval/run_eval.py          # mocked selector, free\npython eval/run_eval.py --live   # real selector call, needs an API key (see Configuration)\n```\n\n## Configuration\n\n**You only need to set one API key.** The provider is auto-detected from\nwhichever key is present -- no separate provider/model config required:\n\n| If you set...       | Provider used | Default model                                  |\n|----------------------|----------------|----------------------------------------…","publisher":{"name":"Manik Prakash","url":null},"homepage":null,"repository":"https://github.com/manik-prakash/narrow-mcp/issues","version":"0.1.0","license":null,"protocols":["mcp"],"tags":["mcp"],"pricing":null,"endpoints":[{"url":"pypi:narrow-mcp","type":"package_pypi","auth":null,"probeable":false}],"skills":null,"tools":null,"extra":null,"attribution":{"kind":"pypi","name":"pypi","repoUrl":"pypi","summary":"pypi","version":"pypi","description":"pypi","publisherName":"pypi"}},"derived":{"capabilities":[{"slug":"content.writing","name":"Writing & Editing","confidence":0.859,"provenance":"derived"}],"categories":["content"],"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":"narrow-mcp","registry":"pypi","observedAt":"2026-11-03T19:31:40.889Z","publishedAt":"2026-09-08T09:53:12.697550Z","latestVersion":"0.1.0"},"toolSurface":null,"endpointFacts":[]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"pypi","key":"narrow-mcp","url":"https://pypi.org/project/narrow-mcp/","firstSeenAt":"2026-09-10T07:21:07.846Z","fetchedAt":"2026-11-03T19:30:37.270Z","normalizedAt":"2026-11-03T19:30:37.270Z"}]},"firstSeenAt":"2026-09-10T07:21:07.846Z","updatedAt":"2026-11-03T19:31:40.889Z"}