The full upstream README, mirrored here for reference. Install config, tool schemas, adoption signals, and an original overview live on the There's An AI For That listing page.
Remote, stateless Model Context Protocol server for finding AI tools in the TAAFT directory.
It exposes:
search_tools — search by query, type, sort, and result limit.get_tool — retrieve public details by the slug returned from search.The MCP endpoint is POST /mcp. GET /healthz is an unauthenticated
liveness endpoint.
The public endpoint is:
It uses Streamable HTTP and requires no authentication.
The repository root is a Cursor plugin. For local plugin development:
Run Developer: Reload Window, then confirm taaft appears under
Customize. Remove or disable a manually configured taaft server to avoid a
duplicate name.
Add the connector directly to Claude Code:
Or install the Claude plugin from this repository:
For Claude.ai and Claude Desktop, add a custom connector under Customize → Connectors using the public endpoint and authentication type None.
Add the server directly to Codex CLI or the Codex IDE extension:
For plugin-capable Codex surfaces:
You can also install it interactively from /plugins. Codex IDE supports
direct MCP configuration but does not currently install plugins.
Enable Developer mode, open Plugins, select +, and register:
https://theresanaiforthat.com/mcp-server/The repository contains the Codex/OpenAI plugin package, but a ChatGPT plugin
also needs an .app.json mapping to the plugin_asdk_app... identifier that
ChatGPT creates when the endpoint is registered. That account-specific file
cannot be generated before registration.
This repository includes .vscode/mcp.json. Opening the repository in VS Code
loads the server at workspace scope. To install it globally without cloning:
A VS Code extension is unnecessary for a fixed remote endpoint. Public
@mcp gallery inclusion is a separate, curated GitHub MCP Registry process.
After cloning the repository:
The plugin uses serverUrl, the current Antigravity key for remote MCP
servers. No transport or authentication fields are needed. Restart
Antigravity after copying the plugin.
Set at least TAAFT_API_BASE_URL in .env, then run:
By default, the service listens on http://localhost:3000/mcp.
The upstream adapter expects:
GET {TAAFT_SEARCH_PATH}?query=...&type=...&sort=...&limit=...GET {TAAFT_TOOL_PATH_TEMPLATE}, replacing {slug} with the URL-encoded slugSearch may return an array or an object containing tools, results, or
data. Detail may return the tool directly or under tool or data. Change
the adapter in src/taaft-client.ts if the internal API contract differs; do
not add more environment-driven response mapping.
Example client configuration:
Set:
NODE_ENV=productionPUBLIC_BASE_URL to the external HTTPS originTAAFT_API_BASE_URL and, if required, TAAFT_API_KEYBuild and run:
Terminate TLS at your ingress or load balancer. The application is stateless, so it can run multiple replicas without sticky sessions. Apply rate limits at the ingress because the MCP endpoint is intentionally public; application-level rate limiting is ineffective once replicas are added.
Then connect with the MCP Inspector: