Skip to content
Agentmart
Submit a tool

Developers

API and MCP server

Search the Agent Mart catalog from your code or your agent: a JSON API with an OpenAPI 3.1 description, and a remote MCP server agents can add in one line.

Use from your agent

The MCP server at https://agentmart.dev/mcp (streamable HTTP, no sign-in) gives an agent six read-only tools: search_listings, get_listing, get_install_config, compare_listings, list_categories and find_alternatives. Ask it, for example, “find a Postgres MCP server for Cursor and give me the config”.

Claude Code

claude mcp add --transport http agent-market https://agentmart.dev/mcp

Codex (~/.codex/config.toml)

[mcp_servers.agent-market]
url = "https://agentmart.dev/mcp"

Cursor (.cursor/mcp.json)

{
  "mcpServers": {
    "agent-market": {
      "url": "https://agentmart.dev/mcp"
    }
  }
}

VS Code (.vscode/mcp.json)

{
  "servers": {
    "agent-market": {
      "type": "http",
      "url": "https://agentmart.dev/mcp"
    }
  }
}

Listing names and descriptions are written by their publishers; the server marks them as data, and grades are automated assessments, not audits.

From the terminal

The agentmarket CLI searches the catalog and writes the right config for Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI and Claude Desktop.

npx agentmarket install connector/notion-com-mcp --host cursor

API quickstart

Base URL https://agentmart.dev/api/v1. JSON, CORS open for GET. OpenAPI 3.1: openapi.json.

curl 'https://agentmart.dev/api/v1/search?q=postgres&type=connector&limit=5'
const res = await fetch("https://agentmart.dev/api/v1/search?q=read+jira+tickets");
const { results, next_cursor } = await res.json();
import requests
r = requests.get("https://agentmart.dev/api/v1/listings/connectors/notion-com-mcp/install", params={"host": "claude-code"})
print(r.json()["options"][0]["command"])

Keys and limits

TierLimitHow
No key60 per hour and 500 per day per IPJust call it
Free key60 per minute, 10,000 per dayAuthorization: Bearer am_live_…
PartnerHigher, by agreementContact us

Every response carries X-RateLimit-Limit, X-RateLimit-Remaining and X-RateLimit-Reset; over the limit you get 429 with Retry-After. Anonymous responses are cached for five minutes. Self-serve keys arrive with accounts; until then, ask for a key. Errors look like {"error": {"code", "message", "docs_url"}}.

Endpoints

GET /search

Search listings

  • q (query) Search text. Typos, synonyms and words like "mcp" or "skill" are understood.
  • type (query: connector, skill, plugin, harness, agent, builder, model, infrastructure, …) Listing type
  • host (query: claude-code, codex, cursor, vscode, windsurf, claude-desktop, gemini-cli, github-copilot, …) Only listings that work with this host
  • transport (query: streamable-http, sse, stdio)
  • auth (query: none, api-key, oauth, bearer, unknown)
  • license (query: open-source)
  • official (query) true: only listings from the product's own publisher
  • include_low (query) true: include listings below the quality bar
  • read_only (query) true: only listings whose tools are all known and only read (none write, delete or are unclassified)
  • live (query) true: only remote connectors that answered their last daily check (up, or asking for auth)
  • no_secrets (query) true: only listings whose permission manifest asks for no API keys, tokens or passwords
  • sort (query: relevance, rank, newest, stars, downloads, updated, name)
  • limit (query)
  • cursor (query) Opaque cursor from the previous page's next_cursor

GET /listings/{type}/{slug}

One listing

  • type (path, required) Type slug as in the site URL, e.g. connectors, skills, plugins
  • slug (path, required) Listing slug
  • fields (query) Comma-separated top-level fields to return, e.g. id,name,grades
  • expand (query) Comma-separated: tools, relations, sources

GET /listings/{type}/{slug}/install

Install command or config for one host

  • type (path, required) Type slug as in the site URL, e.g. connectors, skills, plugins
  • slug (path, required) Listing slug
  • host (query, required: claude-code, codex, cursor, vscode, windsurf, claude-desktop, gemini-cli, github-copilot, …) Host to install into

GET /listings/{type}/{slug}/alternatives

Similar listings of the same type

  • type (path, required) Type slug as in the site URL, e.g. connectors, skills, plugins
  • slug (path, required) Listing slug
  • limit (query)

GET /compare

Compare 2 to 4 listings

  • ids (query, required) 2 to 4 listing ids, comma-separated (connector:io.github.foo/bar)

GET /types

Listing types with counts

GET /taxonomy

Ids accepted by the search filters

GET /publishers/{slug}

A publisher and its top listings

  • slug (path, required) gh-<org> or dns-<domain>

GET /listings/{type}/{slug}/reviews

Published reviews of a listing

  • type (path, required) Type slug as in the site URL, e.g. connectors, skills, plugins
  • slug (path, required) Listing slug
  • host (query)
  • version (query)
  • limit (query)
  • cursor (query)

GET /stacks

Public stacks

  • use_case (query) Use case id, e.g. coding, data, research, support
  • host (query: claude-code, codex, cursor, vscode, windsurf, gemini-cli, claude-desktop) Only stacks that install fully into this host
  • sort (query: installs, newest)
  • limit (query)
  • cursor (query) Opaque cursor from the previous page's next_cursor

GET /stacks/{slug}

One stack and its items

  • slug (path, required) Stack slug

GET /stacks/{slug}/install-plan

What installing the stack into one host does

  • slug (path, required) Stack slug
  • host (query, required: claude-code, codex, cursor, vscode, windsurf, gemini-cli, claude-desktop) Host to install the stack into

GET /stats

Catalog size and last sync

Versions and changes

v1 field names are fixed; new fields may appear, nothing is removed without 90 days' notice. v0 (docs) keeps working and is deprecated.

  • 2026-11-12: v1 and the MCP server.

Terms (draft)

  • Show “Data from Agent Mart” with a link to https://agentmart.dev/ wherever you display results.
  • No resale or bulk redistribution of the catalog without a license; there is no bulk export in v1.
  • Stay within the limits. Keys that hit their limit continuously for three days are paused.
  • We may change limits or revoke keys used for abuse. Grades are automated assessments, not security audits or endorsements.