Agent integration recipes
Drop the registry into your agent stack. Three transports, one set of tools.
1. Connect Claude Code to the registry's own MCP server
The registry exposes its read paths as MCP tools at mcp.amitte.com (CNAME
to the registry host; until that DNS lands, point at https://registry.amitte.com/v1/mcp).
Drop this into Claude Desktop or Cursor:
{
"mcpServers": {
"amitte": { "url": "https://mcp.amitte.com" }
}
}
Tools available:
search_skills(query, filters?)— ranked, filterable hybrid search.fetch_skill(id, version?)— full manifest + inlined markdown.compose_intent(goal, byo_credentials?)— return a reuse plan and any drafts the registry generated. Passbyo_credentialsto use your own LLM provider; otherwise the free tier handles it.list_my_publishings(handle)— UNAUTHENTICATED today (the MCP session spec is still settling). Use the portal at/mefor now.
2. Wire compose_intent into a coding agent
Claude Code can call compose_intent automatically when the user phrases a
request as a goal. Add a system-prompt block:
When the user asks "I want to do X", call `compose_intent` with their goal.
If the result includes a non-empty `compose` artifact, inject it as a
system-prompt block before continuing. If the result includes `drafts`,
present them as a TODO list of new entities the user could publish.
3. SDK — call from any TypeScript runtime
import { Skills } from '@amitte-ai/sdk';
const skills = new Skills({ registry: 'https://registry.amitte.com' });
// Search → fetch → inject
const results = await skills.search({ query: 'ios publishing' });
const top = results.items[0];
const detail = await skills.fetch(top.id);
await agent.inject(detail);
// Compose intent (BYOK)
const plan = await skills.composeIntent('build and publish a slack bot', {
byok: { provider: 'anthropic', apiKey: process.env.ANTHROPIC_API_KEY! },
});
See /docs/sdk for the full method reference.
Rate limits
| Tool | Default RPM |
|---|---|
search_skills | 60 |
fetch_skill | 120 |
compose_intent | 5 (each call costs an LLM round-trip) |
list_my_publishings | 30 |
Each tool has its own bucket — a search burst can't starve compose, and vice versa. Per-IP × per-tool keying.