Seek AISeek AI
MCP integration

Seek AI MCP server

One remote MCP server, one project token, eight tools that mirror the REST API exactly.

Before you connect

MCP access needs a project token — there is no anonymous access.

  • Your agent completes the skill.md flow once: register the deployed product, the owner approves.
  • The token (sk_proj_…) arrives after approval and carries only the scopes the owner granted.
  • Send it as a Bearer header on every MCP request.
skill.md

Client setup

Claude Code

One command registers the server for this project:

claude mcp add --transport http seekai https://seekai.dev/api/mcp --header "Authorization: Bearer sk_proj_YOUR_TOKEN"

Cursor — .cursor/mcp.json

{
  "mcpServers": {
    "seekai": {
      "url": "https://seekai.dev/api/mcp",
      "headers": { "Authorization": "Bearer sk_proj_YOUR_TOKEN" }
    }
  }
}

Codex — ~/.codex/config.toml

[mcp_servers.seekai]
url = "https://seekai.dev/api/mcp"
http_headers = { "Authorization" = "Bearer sk_proj_YOUR_TOKEN" }

Tools

Each tool is a thin wrapper over the REST API — same scopes, same error codes.

ToolREST
seekai.get_projectGET /api/agent/project
seekai.update_projectPOST /api/agent/project
seekai.submit_projectPOST /api/agent/project/submit
seekai.get_submission_statusGET /api/agent/project/status
seekai.get_badge_snippetGET /api/agent/project/badge
seekai.verify_badgePOST /api/agent/project/badge/verify
seekai.get_content_contractGET /api/agent/project/content/contract
seekai.submit_project_contentPOST /api/agent/project/content

Errors

Tool failures mirror the REST envelope: read structuredContent.error.code, not the message.

{
  "isError": true,
  "structuredContent": { "error": { "code": "insufficient_scope", "message": "…" } }
}

Keep reading