MCP server for SwarmApi: 9 pay-per-call tools for SEC filings, company news, insider transactions, jobs, web search, GitHub repos, and npm/PyPI/cargo package security. Payments settled per request in USDC on Base via x402.
SwarmApi MCP defines 11 tools with consistent naming (verb_noun pattern: gateway_ping, resolve_company, list_filings, extract_filing, etc.). All tools have descriptions (194 - 250 chars, within baseline 34 - 392 range). Input schemas are present and typed for all tools. However, output schemas are NOT documented, the rubric requires documented return types for A+ tools (100% baseline). Descriptions are functional but lack dependency hints and recovery guidance. Parameters are well-typed with enums where appropriate (e.g., registry: npm|pypi|cargo), but some lack format constraints (e.g., 'accession' format NNNNNNNNNN-YY-NNNNNN is stated in description but not as a regex pattern). Error handling is minimal, no recovery guidance, no categorization of retryable vs fatal errors. Security is strong: no secrets in params, read-only risk classification on all tools. Composition is excellent: each tool has one clear responsibility, and tool outputs chain naturally (resolve_company → list_filings → extract_filing).
Open job postings on a company's public Greenhouse or Lever board. Useful as a proxy for hiring trends, focus areas, and growth. Auto-discovers the ATS for many startups; pass ats=greenhouse|lever and slug if you know them. Cost: $0.01 USDC per call.
Recent news mentions of a company indexed by GDELT 2.0 (covers ~all news articles worldwide, refreshed every 15 minutes). Default 30-day window, English-language. Use this to find news after your training cutoff. Cost: $0.02 USDC per call.
Parse a specific SEC filing (10-K, 10-Q, 8-K) into structured per-Item JSON. Pass the accession number from list_filings. Returns sections like Item 1A (Risk Factors), Item 7 (MD&A), Item 5.02 (Officer changes) as separate fields with full text. Cost: $0.05 USDC per call.
FREE — no USDC. Returns the public tool catalog from GET /v1/catalog (names, paths, prices in atomic USDC). Same data as the marketplace listing.
FREE — no USDC. Returns public gateway health JSON from GET /health. Use from Cursor to confirm SwarmApi MCP can reach the gateway without a funded wallet.
Output schemas not documented. Rubric baseline: 100% of A+ tools have documented return types. Tools return structured data (e.g., resolve_company returns 'matches' array with cik, name, ticker fields) but this is inferred from descriptions, not formally specified. LLMs cannot plan downstream calls without knowing response structure.
No error handling guidance. Tools lack recovery hints (e.g., 'If company not found, try resolve_company with a partial name'). No error categorization (retryable vs fatal). Rubric requires: 'Error responses must tell the LLM what to do next.' This prevents agents from self-correcting on failures.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | B | 74 | 2026-07-28+ | v2 |
Snapshot of a public GitHub repo: stars, forks, languages, license, default branch, archive status, plus the last 10 commits, last 5 releases, and top contributors. Pass slug=<owner/repo> (e.g. facebook/react) or url=https://github.com/owner/repo. Cost: $0.005 USDC per call.
Form 4 insider transactions (purchases, sales, awards, derivative exercises) for a company's officers, directors, and 10% holders, parsed from EDGAR XML. CEO/CFO open-market buys/sells are real material signals. Pass the 10-digit CIK from resolve_company. Cost: $0.03 USDC per call.
List a company's recent SEC filings (10-K, 10-Q, 8-K, S-1, Form 4, etc.). Pass the 10-digit CIK from resolve_company. Returns accession numbers needed by extract_filing. Cost: $0.005 USDC per call.
Latest version, license, deps, recent versions, deprecation status, and known vulnerabilities (via OSV.dev) for an npm, PyPI, or cargo package. Pass registry=npm|pypi|cargo and name=<package-name>. Cost: $0.005 USDC per call.
Resolve a free-form company query (ticker, CIK, or company name) to canonical SEC records. Use this first when you only have a company name and need its CIK for the other tools. Returns up to 5 ranked matches. Cost: $0.002 USDC per call.
General web search via the Brave Search API. Use this when you need information that isn't company-keyed — current events, technical answers, multi-source research. Cost: $0.01 USDC per call.
Parameter format constraints not formalized. 'accession' parameter documented as 'NNNNNNNNNN-YY-NNNNNN format' in description text, but no regex pattern in schema. 'since'/'until' parameters accept ISO dates but no pattern constraint. Rubric: 'When a parameter has a regex pattern, length limit, or character restriction, state it in the description', but formal JSON Schema patterns are missing.
No pagination guidance for list tools. list_filings and company_news accept 'limit' but do not document total count or next_cursor in response. Rubric: 'Tools returning lists should accept page/offset and limit parameters and return a total count or next_cursor.' Without pagination metadata, agents cannot iterate large result sets.
Missing dependency hints in descriptions. Tools like extract_filing require an accession from list_filings, but the description does not explicitly state 'Call list_filings first to get accession numbers.' Rubric: 'Include dependency hints: If you only have a name, call search_users() first.' This prevents wasted calls and guides multi-step planning.