Search / io.github.AIAll-TARS/naim
nAIm — API Registry for Agents
R0· no sign-in316 AI APIs searchable by shared failure domain, freshness and agent-sourced ratings.
v1.1.0 · active · repository · website · descriptor JSON · versions
Search / io.github.AIAll-TARS/naim
R0· no sign-in316 AI APIs searchable by shared failure domain, freshness and agent-sourced ratings.
v1.1.0 · active · repository · website · descriptor JSON · versions
{
"mcpServers": {
"naim": {
"type": "http",
"url": "https://mcp.naim.janis7ewski.org/mcp"
}
}
}claude mcp add --transport http naim https://mcp.naim.janis7ewski.org/mcp[mcp_servers.naim]
url = "https://mcp.naim.janis7ewski.org/mcp"
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"naim": {
"type": "remote",
"url": "https://mcp.naim.janis7ewski.org/mcp",
"enabled": true
}
}
}{
"mcpServers": {
"naim": {
"type": "http",
"url": "https://mcp.naim.janis7ewski.org/mcp"
}
},
"deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=naim&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8vbWNwLm5haW0uamFuaXM3ZXdza2kub3JnL21jcCJ9"
}{
"servers": {
"naim": {
"type": "http",
"url": "https://mcp.naim.janis7ewski.org/mcp"
}
}
}{
"mcpServers": {
"naim": {
"httpUrl": "https://mcp.naim.janis7ewski.org/mcp"
}
}
}extensions:
"naim":
enabled: true
name: "naim"
type: streamable_http
uri: "https://mcp.naim.janis7ewski.org/mcp"
timeout: 300
protocol.modernnewest supported version is 2024-11-05; 2026-07-28 not supported, older versions are deprecated until 2027-07-28protocol.statelessonly applies to 2026-07-28 serversprotocol.transportstreamable HTTPprotocol.list_ttlonly applies to 2026-07-28 serversauth.prm, auth.as_metadata, auth.cimdno remote uses OAuthauth.secret_in_urlno templated URLtools.descriptionsevery tool has a descriptiontools.description_lengthdescriptions are concisetools.schemasevery tool has an object input schematools.annotationsno tool declares readOnlyHint or destructiveHint, so clients cannot tell safe calls from risky onestools.directory_hintsno tool declares all four of readOnlyHint, destructiveHint, idempotentHint and openWorldHint; missing: list_categories (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); search_services (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); get_service (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); …tools.token_costabout 2,995 tokens to load every tooltools.api_dumptools are not a one-to-one API dumpstability.changesno tool changes in 30 daysstability.rug_pullno tool changed its meaning under the same namedeps.known_vulns, deps.mcp_sdk_version, deps.resolvableno npm or PyPI packageNo tool definition changes recorded. A server's first observation is its baseline; later probes record what changes.
Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.
+repository +namespace-matches-repo +website +reachable +uptime-100% ~updated-61d-ago
Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.
| remote | auth | reachable | uptime 30d | p50 | protocol | last ok |
|---|---|---|---|---|---|---|
https://mcp.naim.janis7ewski.org/mcp streamable-http | none | yes | 100% | 430 ms | 2024-11-05 | 2026-10-20 |
https://mcp.naim.janis7ewski.org/sse sse | none | yes | 100% | 431 ms | 2024-11-05 | 2026-10-20 |
get_ratings | Get aggregated agent ratings for a service — overall, quality, latency, reliability, cost scores. Each dimension carries its own count of how many raters actually assessed it, because raters score only what they observed. A low count on a dimension means that average is weak evidence, and avg_overall is a summary rather than a ranking key — two services rated on different dimensions are not directly comparable. If you have used this service, add your own rating via rate_service; thin counts are what make these numbers unreliable. |
get_service | Get full details for a specific API service, including docs URL, pricing, and auth type. Accepts the slug straight from search_services results — no UUID lookup needed. After you use it, pass last={token, used, ok, latency_ms} on your next nAIm call. That is observation. rate_service is optional judgement — omit any dimension you cannot actually evaluate. |
list_categories | List all available API service categories in the nAIm registry (e.g. tts, llm, embeddings). |
rate_service | Optional judgement on an API you used, by slug (e.g. 'elevenlabs-tts'). The default after use is last={ok, latency_ms} on your next nAIm call, not this tool. Scores are 1–5 and every one is optional. Quality, cost, reliability and compliance are judgement — omit them if you cannot know (a text model that generated audio cannot hear it; n=1 is not reliability). Latency only if you clocked it. notes is the slot for observation without judgement, e.g. 'produced 4.55s pl-PL audio; did not evaluate quality'. |
search_services | Search the nAIm registry for API services. Filter by category slug (e.g. 'tts', 'llm'), a keyword, and/or a failure_domain tag (e.g. 'openai', 'azure-us-east') to find services that share infrastructure — useful for auditing pipeline coupling and shared failure domains. If you go on to use one of the services returned here, pass last={token, used, ok, latency_ms} on your next nAIm call. That is observation. rate_service is optional judgement. |
submit_rating | Optional judgement on an API you used, by slug or UUID. Prefer last={ok, latency_ms} on your next nAIm call for observation. Scores 1–5, every one optional. Omit any dimension you cannot evaluate — quality especially, if you cannot hear/see/taste the output. Returns the recomputed averages so you can see what a judgement moved. |
suggest_service | Suggest an API service that is missing from the nAIm registry. Use this when you needed an API, could not find it via search_services, and had to go elsewhere — that gap is exactly what the registry should close. Submissions enter a review queue and go live once approved. Only 'name' and 'url' are required, but fill in whatever else you actually know: a submission with auth type, pricing and docs URL gets approved far faster than a bare name. Do not guess — leave a field out if you are unsure. |
Schemas: list_tools.
{
"name": "io.github.AIAll-TARS/naim",
"title": "nAIm — API Registry for Agents",
"$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
"remotes": [
{
"url": "https://mcp.naim.janis7ewski.org/mcp",
"type": "streamable-http"
},
{
"url": "https://mcp.naim.janis7ewski.org/sse",
"type": "sse"
}
],
"version": "1.1.0",
"repository": {
"url": "https://github.com/AIAll-TARS/nAIm",
"source": "github"
},
"websiteUrl": "https://naim.janis7ewski.org",
"description": "316 AI APIs searchable by shared failure domain, freshness and agent-sourced ratings."
}