
Index Agentica
com.indexagenticav0.1.0更新于 Oct 2, 2026
Search a curated directory of agent tools, MCP servers, APIs, protocols and skills. No auth.
概览
让助手搜索一个收录智能体工具、MCP 服务器、API、协议与技能的精选目录,并读取其中的指南、对比、技术栈与技能内容。
- 功能
- 这是一个只读的远程 MCP 服务器,提供四个工具:search 用于检索目录条目与长文内容,get_entry 获取单条完整条目,get_content 获取指南、对比、技术栈或技能(含 markdown),list_categories 返回分类及数量。相同数据也通过 REST API 提供对应端点。所有工具都标注为只读,并返回结构化 JSON。
- 适用场景
- 当助手需要查询智能体工具、MCP 服务器、协议或 API,或在回答问题时引用该目录的指南、对比、技术栈和可下载技能时适用。它是发现与参考资料来源,而不是对用户系统执行操作的工具。
- 运行要求
- 需要一个远程 Streamable HTTP 端点;无需安装、无需 API 密钥、无需认证。客户端需支持 Streamable HTTP(部分客户端标记为 http 或 streamableHttp)。需要能访问该端点的网络。
安装
在 SourceWeft 中
- 打开 控制台中的 Index Agentica,将其添加到工作区。
- 为需要使用其工具的对话启用该服务。
Web executable,通过 Streamable HTTP。 远程服务在工作区中配置后即可从网页运行时运行。
其他 MCP 客户端
把它添加到你客户端的 mcpServers 配置中。
{
"mcpServers": {
"mcp": {
"type": "http",
"url": "https://mcp.indexagentica.com/mcp"
}
}
}README
indexagentica-mcp
Read-only remote MCP server (Streamable HTTP) and REST search API for Index Agentica, the agent-first directory of skills, harnesses, MCP servers, tools, protocols and APIs, plus its long-form guides, comparisons, stacks and downloadable Agent Skills. Runs on Cloudflare Workers (free plan), stateless, no Durable Objects, no auth, CORS open.
Install
Remote server: no install, no API key. Streamable HTTP at https://mcp.indexagentica.com/mcp (live).
Other clients: add the URL as a Streamable HTTP server with no auth (see llms-install.md).
The same Worker also answers at https://indexagentica-mcp.indexagentica.workers.dev/mcp
(see DEPLOY.md).
Endpoints
Errors are always JSON: {"error":{"status":400,"code":"bad_request","message":"..."}}
(codes: bad_request, not_found, method_not_allowed, rate_limited, upstream_error).
MCP tools
Every tool has a JSON-Schema inputSchema, an outputSchema, readOnlyHint
annotations, and returns both structuredContent and the same JSON as a text
content block. Bad arguments and unknown ids come back as isError: true tool
results (so the model can correct itself); an unknown tool name is JSON-RPC -32602.
Scoring: per query word, exact id/name match 12, id segment 6, name substring 5, exact tag 4 (partial tag 2), summary 2, category 1.5, description 1; +8 if the whole phrase is in the name; multiplied by the fraction of words matched.
Protocol support (dual-era, stateless)
- 2026-07-28 (current spec, "modern"): no handshake. Each POST carries
_meta["io.modelcontextprotocol/protocolVersion"]and theMCP-Protocol-Version,Mcp-Method(and fortools/call,Mcp-Name, base64 sentinel supported) headers. The server validates headers against the body (-32020 HeaderMismatch), rejects unknown versions with-32022+supportedlist, implementsserver/discover, returnsresultType: "complete",serverInfoin result_meta, andttlMs/cacheScopecaching hints ontools/listandserver/discover. Unknown methods -> HTTP 404 +-32601. - 2025-11-25 / 2025-06-18 / 2025-03-26 ("legacy"):
initializeis answered (version negotiated, falling back to 2025-11-25),notifications/initialized-> 202,ping,tools/list,tools/call; 2025-03-26 batches are accepted. NoMcp-Session-Idis ever issued, so every request is independent and any Worker isolate can serve it. - Responses are always
application/json(never SSE).Originis checked againstALLOWED_ORIGINS(default*because the data is public and read-only).
Spec refs: Streamable HTTP 2026-07-28, Versioning / dual-era, server/discover.
Data & caching
Source of truth is the published static site: GET https://indexagentica.com/api/index.json
(all entries + categories) and GET /api/longform.json (long-form metadata), fetched
together; if the long-form index can't be loaded, entries keep working. get_content
fetches /api/longform/<route>/<id>.json on demand (same cache), always from
DATA_BASE_URL. The Worker keeps the indexes in isolate memory for
CACHE_TTL_SECONDS (600 s), also stores it in the Cloudflare Cache API (effective
on a custom domain; a no-op on workers.dev), coalesces concurrent refreshes, and
serves the stale copy if the upstream fetch fails. New categories added by the site
build appear automatically. Nothing is written anywhere.
Usage logging (Workers Analytics Engine)
Each request (except OPTIONS, /health, /robots.txt, /favicon.ico) writes one data point to the
Analytics Engine dataset indexagentica_mcp (binding ANALYTICS in wrangler.toml), so we can count
agent usage per tool and client. If the binding is missing (local tests, the ratelimit-test env),
logging is a no-op, and a failing write never affects the response. Workers Free includes
100,000 data points written per day (pricing);
data is kept for 3 months (limits).
Privacy: no IP addresses, no search query text, no free-text tool arguments, no cookies or
tokens (the server has none). Clients are identified only by their self-reported name/version and a
truncated User-Agent. Example query (SQL API):
SELECT blob4 AS tool, blob5 AS client, SUM(_sample_interval) AS requests FROM indexagentica_mcp WHERE timestamp > NOW() - INTERVAL '1' DAY GROUP BY tool, client ORDER BY requests DESC.
Rate limiting
- Default: 120 requests / 60 s per client IP, per Cloudflare location, via the
Workers Rate Limiting binding
(
[[ratelimits]]inwrangler.toml, GA since Sept 2025; period must be 10 or 60 s). It is intentionally approximate (eventually consistent, per location). - If the binding is absent or errors, a per-isolate token bucket with the same
numbers (
RATE_LIMIT_REQUESTS/RATE_LIMIT_PERIOD_SECONDS) is used instead. - Exceeding it returns HTTP 429 with
Retry-After; on/mcpthe body is a JSON-RPC error (-32000), elsewhere the JSON error envelope./healthandOPTIONSare not metered. Responses carryx-ratelimit-limit/x-ratelimit-period. - Free-plan ceiling to keep in mind: Workers Free allows 100,000 requests/day per account and 10 ms CPU per request (limits). A cold search costs ~1-3 ms CPU (parsing the ~135 KB index); warm requests well under 1 ms.
Local development & tests
The long-form E2E checks adapt to the data: with published items they fetch one of
each type over REST and MCP; with none (all drafts) they check the empty listings and
not-found paths. To exercise the full path before anything is published, build the
site with drafts published (e.g. INCLUDE_DRAFTS=1 SITE_URL=http://127.0.0.1:8089 node scripts/build.mjs
in the site repo), serve dist/ on that port, and run npm test with DATA_BASE_URL set.
scripts/test-local.sh starts the normal Worker on :8797 and a low-limit copy
(--env ratelimit-test, 5 req / 10 s) on :8798, runs test/e2e.mjs, then checks
the server with @modelcontextprotocol/inspector --cli in the default legacy era and
pinned to the modern era (protocolEra: "modern" config).
Manual checks:
Connecting a client
JSON config (e.g. Claude Code's .mcp.json; Claude Code requires "type": "http" for remote servers):
Other clients use their own name for Streamable HTTP (Cline: "type": "streamableHttp"; some accept just "url").
Configuration (wrangler.toml [vars])
Deploy
See DEPLOY.md for the options for mcp.indexagentica.com and the
exact Cloudflare/GoDaddy access needed. Short version:
Layout
License: code MIT; directory content CC BY 4.0.
Registry metadata
server.json: official MCP Registry entry (com.indexagentica/mcp, schema 2025-12-11), validated withmcp-publisher validate. Publishing uses HTTP domain auth againsthttps://indexagentica.com/.well-known/mcp-registry-auth; it's a separate, manual step once the endpoint is live.glama.json: Glama ownership claim (maintainerDrudley).llms-install.md: install notes for agent-driven installers such as Cline.
License
MIT for the code. Directory content served by the tools is CC BY 4.0.
来源:README.md,提交 d2b410d
工具
0版本历史
1- v0.1.0最新Oct 2, 2026