Docs / MCP server

Connect your AI agent to Cylect

Cylect AI is a remote MCP server (Streamable HTTP). Your agent acts as you, sees only your investigations, and follows your plan.

https://ai.cylect.io/mcp

1. Authentication

OAuth 2.1 (Claude, ChatGPT): add the URL as a custom connector. The client registers itself, you sign in and approve, done.

Bearer API key (OpenWebUI, Cursor, scripts, on-prem): create a key under Settings → Connect your own AI. Keys start with cylect_, are shown once, stored hashed and revocable.

Authorization: Bearer cylect_xxxxxxxxxxxxxxxx

Catalog search requires any paid plan (Day pass, Personal or Professional). Requests without valid credentials return 401. Revoked keys stop working within 60 seconds.

2. Client setup

Claude Code

claude mcp add --scope user --transport http cylect 'https://ai.cylect.io/mcp' \
  --header "Authorization: Bearer cylect_YOUR_KEY"

Cursor / VS Code / Claude Desktop (JSON)

{
  "mcpServers": {
    "cylect": {
      "url": "https://ai.cylect.io/mcp",
      "headers": { "Authorization": "Bearer cylect_YOUR_KEY" }
    }
  }
}

OpenWebUI

Admin → Settings → External Tools → Add. Set Type to MCP (Streamable HTTP) (not OpenAPI), URL above, Auth Bearer with your key.

3. Tools

search_osint_catalogread-only

Find tools for a specific target and get prepared search links. Needs a query or search keyword (2+ characters); returns at most 10 tools per call. Limited to 20 calls/minute and 50 / 200 / 1,000 calls per 24h (Day Pass / Personal / Professional). Does not run searches.

{ category?: "AI"|"Search"|"People"|"Username"|"Email"|"Phone"|"IP Address"|"Domain"|"Images"|"Maps"|"Vehicles"|"Crypto"|"Stocks"|"Files"|"Software"|"Source Code"|"Sandbox"|"Tor",
  search?: string  // tool name keyword, max 100
  query?: string   // investigation target, max 500 (query or search required)
  offset?: int     // 0-20, default 0
  limit?: int      // 1-10, default 8 }
list_investigationsread-only

List your investigations (id, title, updated time).

{}
read_investigationread-only

Read one owned investigation: notes, mind map, search state and location pins.

{ investigationId: uuid }
update_investigation_findingswrites

Add mind-map entities/links and recommended search tabs. Revision-checked, never overwrites newer edits.

{ investigationId: uuid, ...findings }
add_investigation_locationwrites

Pin exact coordinates you can source to the Intel Map.

{ investigationId: uuid, label: string, latitude: number, longitude: number, source?: string }
add_general_investigation_locationwrites

Pin an approximate city center from a place name (only unique matches are saved).

{ investigationId: uuid, city: string, countryCode?: "US", region?: string, source: string }

4. Example request

curl -s https://ai.cylect.io/mcp \
  -H "Authorization: Bearer cylect_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",
       "params":{"name":"search_osint_catalog",
                 "arguments":{"category":"Username","query":"johndoe","limit":2}}}'

Response (shape):

{"jsonrpc":"2.0","id":1,"result":{
  "structuredContent":{
    "tools":[
      {"name":"Example Username Tool","category":"Username","paramType":"username",
       "url":"https://example-tool.com/?q=johndoe"},
      {"name":"...","category":"Username","paramType":"username","url":"..."}],
    "total":38,"offset":0}}}

Call initialize and tools/list first if your client doesn't do it automatically. Tool results are research leads, not verified facts.