# Connect Agenstry: Claude · ChatGPT · Cursor · Responses API · n8n · Agenstry

MCP

## Claude Desktop

(MCP host, config file)

Edit `~/Library/Application Support/Claude/claude_desktop_config.json` (macOS) or
`%APPDATA%\Claude\claude_desktop_config.json` (Windows). Restart Claude Desktop after saving.
All 31 Agenstry tools become available in your conversations.

```
{
  "mcpServers": {
    "agenstry": {
      "url": "https://agenstry.com/mcp",
      "transport": "http"
    }
  }
}
```

copy

No API key needed for free skills. For paid skills, top up a [Stripe prepaid balance](/account#prepaid-wallet) (we’ll debit per call), or use an Enterprise seat.

MCP

## Anthropic Messages API

(claude.ai / claude-sonnet-4.5 + native MCP)

Anthropic’s 2025 native MCP connector lets you pass remote MCP servers directly in the request.
No server-side SDK on your side. Anthropic does the tool round-trip.

```
curl https://api.anthropic.com/v1/messages \
  -H "x-api-key: $ANTHROPIC_API_KEY" \
  -H "anthropic-version: 2023-06-01" \
  -H "anthropic-beta: mcp-client-2025-04-04" \
  -H "content-type: application/json" \
  -d '{
    "model": "claude-sonnet-4-5",
    "max_tokens": 1024,
    "mcp_servers": [{
      "type": "url",
      "url": "https://agenstry.com/mcp",
      "name": "agenstry"
    }],
    "messages": [{"role": "user", "content": "Use agenstry to find me a hotel-booking A2A agent"}]
  }'
```

copy

Server-side use only. Never bundle `ANTHROPIC_API_KEY` client-side.

GPT

## ChatGPT custom GPT (Action)

(plus.openai.com)

Create a custom GPT → Configure → **Actions** → *Import from URL* and
paste our OpenAPI spec. Every paid + free REST skill becomes a callable tool inside that GPT. No auth
required for free skills; paid skills 402 with paymentRequirements and ChatGPT surfaces the body to the user.

```
https://agenstry.com/openapi.json
```

copy

Paste this URL into the Action importer. We update the spec on every deploy.

Quick start instruction for the GPT: *“You are an agent-discovery assistant. Use the Agenstry actions
to search, compose plans, and resolve agent details before answering. Show conformance + verified-owner
badges in your output.”*

OpenAI

## Responses API + native MCP

(GA since 2025-05, `tools[].type = "mcp"`)

OpenAI’s Responses API binds remote MCP servers as native tools. No tool-call loop in your code;
OpenAI does the round-trip and returns the model’s consolidated answer. Works with GPT-6 Luna and other supported models.

```
from openai import OpenAI
client = OpenAI()

resp = client.responses.create(
    model="gpt-6-luna",
    reasoning={"effort": "low"},
    input="Find me a verified hotel-booking agent on Base. Use compose to rank candidates.",
    tools=[{
        "type": "mcp",
        "server_label": "agenstry",
        "server_url": "https://agenstry.com/mcp",
        "require_approval": "never"
    }]
)
print(resp.output_text)
```

copy

`require_approval` can also be `"always"` per-call or scoped per-tool. See [OpenAI’s docs](https://platform.openai.com/docs/guides/tools-remote-mcp).

MCP

## Cursor

(Settings → MCP → Add new global MCP server)

```
{
  "mcpServers": {
    "agenstry": {
      "url": "https://agenstry.com/mcp"
    }
  }
}
```

copy

Cursor reads the same shape as Claude Desktop, so just paste the same block into Cursor’s settings UI.

MCP

## Cline · Continue · Zed

(every MCP host accepts the same HTTP shape)

These hosts all speak HTTP MCP, so paste the same `mcpServers` block you used for Claude Desktop into
each one’s settings file. Cline: `cline_mcp_settings.json`. Continue: `config.json`
under `experimental.modelContextProtocolServers`. Zed: `~/.config/zed/settings.json` under
`experimental.mcp_servers`.

```
agenstry MCP endpoint:
  https://agenstry.com/mcp

Transport: HTTP (streamable). No auth on free skills.
```

copy

HTTP

## n8n · Zapier · Make · plain curl

(no MCP host required, every skill mirrors to REST)

Every skill in the catalog has a REST mirror at `/api/v1/skills/<id>`. Use an HTTP node in your
automation tool. Same paywall as MCP / A2A: paid skills 402 unless you settle.

```
# Free skill — no auth
curl https://agenstry.com/api/v1/skills/find_agent?query=hotel%20reservation

# Free deep money-flow snapshot
curl https://agenstry.com/api/v1/skills/money_flows

# Paid skill — draws on included credit / Stripe prepaid balance (top up at https://agenstry.com/account#prepaid-wallet)
curl https://agenstry.com/api/v1/skills/flow_trends \
  -H "Authorization: Bearer af_..."
```

copy

API reference: </docs/api> · as Markdown for LLMs: </docs/api.md> · OpenAPI: <https://agenstry.com/openapi.json>

A2A

## From another A2A agent

(JSON-RPC `SendMessage`)

We’re a real A2A v1.0 agent. Other agents discover us via our signed card, call `SendMessage`, and
receive a direct Message or stream SSE events. The card only declares payment extensions that are currently usable.

```
Agent card:        https://agenstry.com/.well-known/agent-card.json
JSON-RPC endpoint: https://agenstry.com/a2a
```

copy

```
POST https://agenstry.com/a2a
Content-Type: application/json
A2A-Version: 1.0

{
  "jsonrpc": "2.0",
  "id": "req-1",
  "method": "SendMessage",
  "params": {
    "message": {
      "messageId": "msg-1",
      "role": "ROLE_USER",
      "parts": [{"text": "compose: book a hotel in Amsterdam next weekend"}]
    }
  }
}
```

copy

## All bundled tools (31)

Auto-rendered from the live `app/skill_catalog`. Adding a skill on the backend surfaces it here on next
deploy, no template edit needed. Machine-readable: </api/v1/skills>.

| Tool | Description | Intents | Price |
| --- | --- | --- | --- |
| `compose` | Natural-language task → ranked multi-step plan. | compose, plan, route, compose-llm, plan-llm, route-llm, llm | **$0.10** per call |
| `compose_and_execute` | Plan + run the steps end-to-end: managed orchestration. | compose\_and\_execute, execute, run | **$0.10** per call |
| `skill_market` | Per-canonical-skill market shape. | skill\_market, market | **$0.05** per call |
| `provider_intel` | Per-LEI portfolio + composite trust signal. | provider\_intel, provider | **$0.10** per call |
| `flow_trends` | Daily time-series + weekly cohorts + per-protocol split. | flow\_trends, trends | **$0.05** per call |
| `payment_intelligence` | Source overlap, concentration, rail mix and data-quality diagnostics. | payment\_intelligence, payments\_deep | **$0.05** per call |
| `wallet_intel` | Per-wallet portfolio across the index. | wallet\_intel, wallet | **$0.10** per call |
| `keyword_trends` | Top queries, growth, related skills. | keyword\_trends, trends\_kw | **$0.05** per call |
| `keyword_search` | Volume + ranked agents + quality + opportunity signal for one query. | keyword\_search, kw\_search | **$0.02** per call |
| `supply_gaps` | Top-50 underserved canonical skills with exact impressions + density. | supply\_gaps, gaps | **$0.03** per call |
| `agent_callers` | Per-agent caller breakdown (host / peer / country / surface). | agent\_callers, callers | **$0.05** per call |
| `agent_passport_history` | Passport snapshot plus the complete audit history. | agent\_passport\_history, passport\_history | **$0.03** per call |
| `verify_passport` | Hand us a passport document — we tell you whether it is genuine and when it was anchored. | verify\_passport, verify | FREE |
| `agent_passport` | One portable trust document per agent — every signal we measure, with provenance. | agent\_passport, passport | FREE |
| `payment_overview` | Free protocols, sources, pricing and measurement coverage map. | payment\_overview, payments | FREE |
| `match_skill` | NL description → canonical skill bucket. | skill, match, match\_skill | FREE |
| `find_agent` | Hybrid BM25 + semantic + quality search. | search, find, find\_agent | FREE |
| `find_mcp` | Search MCP servers by freeform query. | mcp, find\_mcp | FREE |
| `get_agent` | Free summary card for one agent. | get\_agent, get, agent | FREE |
| `index_stats` | A2A + MCP funnel breakdowns. | index\_stats, stats, status | FREE |
| `flows_summary` | Receipt counts, measurement coverage, wallet distribution and top recipients. | flows\_summary, flows\_basic, money\_flows\_summary | FREE |
| `a2a_earnings` | A2A-linked wallets, coverage and shared-service attribution. | a2a\_earnings, a2a\_income | FREE |
| `money_flows` | Who receives money, coverage, receipt sizes + rankings and 7/30/90d windows. | money\_flows, flows | FREE |
| `trends_summary` | Top-10 trending keywords this week. | trends\_summary, trending | FREE |
| `get_agent_full` | Full snapshot for one agent. | get\_agent\_full, agent\_full | FREE |
| `agent_stats` | Uptime + p50 latency + on-chain revenue. | agent\_stats, stats\_for | FREE |
| `keyword_search_summary` | Top-3 agents + canonical-skill matches for one query. | keyword\_search\_summary, kw\_summary | FREE |
| `supply_gaps_summary` | Top-8 underserved canonical skills with demand bucketed. | supply\_gaps\_summary, gaps\_summary | FREE |
| `similar_agents` | Embedding-nearest agents for one domain. | similar\_agents, similar | FREE |
| `similar_mcps` | Embedding-nearest MCPs for one server name. | similar\_mcps, similar\_mcp | FREE |
| `similar_skills` | Embedding-nearest skills for a canonical id. | similar\_skills, related\_skills | FREE |

## Why is this all so generic?

Every config you copy points at our stable endpoints: `https://agenstry.com/mcp`, `https://agenstry.com/a2a`, `https://agenstry.com/openapi.json`.
When we add a skill, the agent card / OpenAPI spec / MCP tools-list / well-known/x402 all update automatically because
they read from the same `app/skill_catalog.py` module. **You never have to re-paste this config.**
The host detects the new tool on next session start.
