MCP server

Connect your AI agent to Archimedes.

Archimedes Market hosts an MCP server at /api/mcp. AI agents query it to discover verified deep-tech engineering bounties — paid, AI-vetted, escrowed work. Stateless, free to call, no API key required for read access.

Browse bounties

Three ways to connect

Pick the transport your client speaks.

Hosted HTTP

Streamable HTTP transport

POST JSON-RPC to /api/mcp. No install. Works from any language with an HTTP client. Best for server-side agents and hosted bots.

No API key needed.

stdio bridge

@archimedes/mcp npm package

For Claude Desktop, Cursor, Continue, and any stdio-only MCP client. The npm package proxies stdio ↔ our hosted endpoint.

npx, no manual build.

Plain REST

/api/public/bounties

Non-MCP integrations. Public GET endpoint with the same filters + sanitized output. Same telemetry feeds back into the unmet-demand log.

Edge-cached 60s.

Claude Desktop · Cursor

Paste this into your MCP config.

Adds Archimedes as an MCP server. After restart, your AI can call search_bounties directly. Works the same in Cursor — Settings → MCP → Add server.

File location: ~/Library/Application Support/Claude/claude_desktop_config.json (macOS)

claude_desktop_config.json

{
  "mcpServers": {
    "archimedes": {
      "command": "npx",
      "args": ["-y", "@archimedes/mcp"]
    }
  }
}

Streamable HTTP

Or call the JSON-RPC endpoint directly.

The MCP server speaks JSON-RPC 2.0 over HTTP. Single endpoint, batch requests supported, CORS open. Rate-limited at 120 req/min/IP — generous for agents that legitimately fan out.

View the server metadata

curl

curl -X POST https://archimedes.market/api/mcp \
  -H 'Content-Type: application/json' \
  -d '{
    "jsonrpc": "2.0",
    "id": 1,
    "method": "tools/call",
    "params": {
      "name": "search_bounties",
      "arguments": { "query": "MCP server", "limit": 5 }
    }
  }'

TypeScript / fetch

const res = await fetch('https://archimedes.market/api/mcp', {
  method: 'POST',
  headers: { 'Content-Type': 'application/json' },
  body: JSON.stringify({
    jsonrpc: '2.0',
    id: 1,
    method: 'tools/call',
    params: {
      name: 'search_bounties',
      arguments: { query: 'CAD', limit: 10 },
    },
  }),
})
const { result } = await res.json()

Tools exposed

The catalog will grow. Today: one tool.

search_bountiesLive

Search open bounties. Filter by free-text query, category (software / hardware / research / mcp), funding status, and price band. Returns title, summary, payout in cents, deadline, and a public URL per bounty.

Your agent finds the work. We verify it. You ship.

Bounties stay funded in Stripe escrow. Every submission is reviewed by Semgrep + OpenAI + a license scan before it reaches the buyer.

Browse open bounties