Use the catalogue from your agent

A person browses this site. An agent should not have to: tell it once how to search 631,620 measured mods and it can find, compare and install them itself — choosing by token cost, scan grade and originality instead of by the first search hit. There are two ways in; pick by whether your agent has a shell.

Agent with a shell → the skill

Claude Code, Codex, and anything that can run npx. The skill teaches the flow: search the API, compare the measurements out loud, install with the CLI. One file, 60 tokens per session.

Set up the find-mods plugin ↓

Agent without a shell → the MCP server

Claude Desktop and any MCP client. Two tools over stdio: search_mods and mod_info, both returning the measurements with every result.

Set up the agentmods MCP server ↓

The find-mods plugin

In plain words: after this one install, you stop shopping for agent add-ons yourself. You tell your AI assistant “find me something for code review and set it up” — and it searches this catalogue, compares the candidates by real numbers (what each one costs to have installed, whether its security scan came back clean, whether it is the original or somebody’s copy), tells you what it picked and why, and installs it. You never have to open this website again.

A single SKILL.md that gives the agent a procedure, not just an endpoint: search /api/search (names and plain intent both work — “playwright” and “make my agent cheaper” alike), then choose by the measurements: originals over copies, scan grade A/B over the rest, fewer tokens per session when candidates tie, and say the numbers to the user while doing it. Install is npx agentmods add, which itself prints the cost and the scan before writing anything.

In Claude Code, install it as a plugin — two lines, and it stays current on its own:

Claude Code
/plugin marketplace add iOSDevSK/find-mods/plugin install find-mods

Or the skill on its own, in any agent with a shell:

any project
npx agentmods add skills/iosdevsk/find-mods/find-mods

That puts it in .claude/skills/ for Claude Code, .agents/skills/ for Codex. Either way, then just ask naturally:

  • “find me something for code review and install it”
  • “I want a hook that runs tests before every commit”
  • “my sessions feel expensive — find out why and fix it”

The skill also covers updating (npx agentmods update --check exits 1 in CI when an installed mod changed upstream) and refuses to install a plugin behind the user’s back — plugins go through Claude Code’s own /plugin flow, and the skill says so instead of pretending.

Source: github.com/iOSDevSK/find-mods (MIT)

The agentmods MCP server

In plain words: this plugs the catalogue directly into AI apps that cannot run commands — the Claude desktop app, for instance. Once connected, you can ask Claude “what’s a good skill for testing?” and it looks the answer up right here, with the cost and safety numbers attached, instead of guessing from memory. It is the same catalogue, delivered inside the conversation.

For agents that cannot run commands, the catalogue speaks Model Context Protocol. Zero dependencies, stdio transport, Node ≥ 18.

The simplest connection needs no install at all — the catalogue runs as a remote MCP server over Streamable HTTP:

Claude Code
claude mcp add --transport http agentmods https://agentmods.dev/api/mcp

Stateless, read-only, no key. The same URL, https://agentmods.dev/api/mcp, goes into every other client that speaks remote MCP:

  • claude.ai and the Claude desktop app — Settings → Connectors → Add custom connector → name it agentmods, paste the URL, Add. Then switch it on in a chat from the tools menu next to the message box.
  • Codex CLI — codex mcp add agentmods --url https://agentmods.dev/api/mcp
  • Cursor — .cursor/mcp.json: { "mcpServers": { "agentmods": { "url": "https://agentmods.dev/api/mcp" } } }
  • Gemini CLI — .gemini/settings.json: { "mcpServers": { "agentmods": { "httpUrl": "https://agentmods.dev/api/mcp" } } }
  • VS Code (Copilot) — .vscode/mcp.json: { "servers": { "agentmods": { "type": "http", "url": "https://agentmods.dev/api/mcp" } } }
  • Any project’s .mcp.json — { "mcpServers": { "agentmods": { "type": "http", "url": "https://agentmods.dev/api/mcp" } } }

Or into a project as a local process — one command merges the server into .mcp.json without touching anything else in the file:

any project
npx agentmods add mcp/iosdevsk/agentmods-mcp/agentmods-mcp

For Claude Desktop (which has its own MCP configuration rather than a project file), paste:

claude_desktop_config.json
{ "mcpServers": { "agentmods": { "command": "npx", "args": ["-y", "agentmods-mcp"] } } }

Two tools:

  • search_mods { query, type?, limit? } — hybrid search over the whole catalogue; every result carries tokens_per_session, security_grade, origin (original / copy), repository stars, the page URL and the ready install command. Duplicate clusters collapse to one result — a skill forked into two hundred repositories is one answer.
  • mod_info { slug } — one mod in full: description, licence, token cost per session and once invoked, scan grade with findings count, the files it ships, and per-agent install commands for Claude Code, Codex, Gemini CLI, Cursor and GitHub Copilot.

The same server also ships inside the CLI — npx agentmods mcp — so a machine that already uses the agentmods package needs nothing extra.

Source: github.com/iOSDevSK/agentmods-mcp (MIT) · npm: agentmods-mcp

Why the measurements travel with every answer

Any catalogue can return search hits. The point of this one is that the model doing the choosing sees, for every candidate, what it will cost in tokens on every future session, what a security scan found and where, and whether it is the original or the two-hundredth copy. An agent given those numbers picks the 60-token grade-A original over a 2,000-token unscanned clone — and can tell its user why. That is the whole difference between installing something and installing the right thing.

Plain HTTP is always there too: GET /api/search?q=…&type=…&limit=… returns the same measured results as JSON, no key required.