KosmoKrator

productivity

Affinity MCP Gateway for AI Agents

Expose Affinity tools to Claude Code, Cursor, Codex, and other MCP clients through the local KosmoKrator MCP gateway.

Affinity MCP Gateway

Expose Affinity to MCP clients with `kosmokrator mcp:serve --integration=affinity`.

If the client has never used KosmoKrator before, install it first, then register this integration as a stdio MCP server.

Install KosmoKrator
curl -fsSL https://raw.githubusercontent.com/OpenCompanyApp/kosmokrator/main/install.sh | bash
Install gateway entry
kosmokrator mcp:gateway:install --integration=affinity --write=deny --json
MCP configuration
{
  "mcpServers": {
    "kosmokrator-affinity": {
      "type": "stdio",
      "command": "kosmo",
      "args": [
        "mcp:serve",
        "--integration=affinity",
        "--write=deny"
      ]
    }
  }
}
Serve manually
kosmokrator mcp:serve --integration=affinity --write=deny

Client Notes

Use one scoped MCP gateway entry, then adapt the config location to the client or framework.

Claude Code Connect local KosmoKrator integrations to Claude Code through one scoped MCP gateway entry. Claude Code can launch the local kosmo binary directly from the project MCP config.
Cursor Expose selected local integrations to Cursor through KosmoKrator without configuring each service as its own MCP server. Use the same KosmoKrator install and integration credentials that power terminal and headless runs.
Codex Use KosmoKrator as a local MCP proxy for Codex so coding sessions can reach selected integrations with explicit write policy. Keep write access denied or ask-based unless the workspace is trusted.
OpenAI Agents SDK Attach KosmoKrator integration tools to OpenAI Agents SDK workflows through a local MCP gateway. Use headless JSON commands for CI-style execution and MCP for agent tool discovery.
Claude Agent SDK Give Claude Agent SDK workflows access to KosmoKrator integrations through a local MCP server. Use a narrow integration list so the agent does not load unrelated tools.
Vercel AI SDK Use KosmoKrator as a local integration gateway for Vercel AI SDK agents and scripts. Prefer CLI JSON calls when a workflow only needs one deterministic integration operation.
LangChain Bridge LangChain agents to local KosmoKrator integration tools through MCP or headless CLI calls. Keep the gateway scoped to the integration and operation class needed by the chain.
LangGraph Run KosmoKrator integration calls from LangGraph nodes while preserving local credentials and permissions. Headless CLI calls fit repeatable graph edges; MCP fits exploratory agent nodes.
CrewAI Expose KosmoKrator integrations to CrewAI workers as scoped local tools. Use per-worker integration scopes to avoid giving every worker every tool.
Generic MCP Clients Connect any stdio-compatible MCP client to local KosmoKrator integration tools. Start with read-only write policy and expand only for trusted projects.

MCP Tool Names

KosmoKrator exposes integration tools through the gateway with stable names.

MCP toolSource functionType
integration__affinity__affinity_get_current_user affinity.affinity_get_current_user Read read
integration__affinity__affinity_list_contacts affinity.affinity_list_contacts Read read
integration__affinity__affinity_get_contact affinity.affinity_get_contact Read read
integration__affinity__affinity_create_contact affinity.affinity_create_contact Write write
integration__affinity__affinity_list_contact_fields affinity.affinity_list_contact_fields Read read
integration__affinity__affinity_list_contact_field_values affinity.affinity_list_contact_field_values Read read
integration__affinity__affinity_get_contact_field_value affinity.affinity_get_contact_field_value Read read
integration__affinity__affinity_list_contact_lists affinity.affinity_list_contact_lists Read read
integration__affinity__affinity_list_contact_list_entries affinity.affinity_list_contact_list_entries Read read
integration__affinity__affinity_list_contact_notes affinity.affinity_list_contact_notes Read read
integration__affinity__affinity_list_organizations affinity.affinity_list_organizations Read read
integration__affinity__affinity_get_organization affinity.affinity_get_organization Read read
integration__affinity__affinity_create_organization affinity.affinity_create_organization Write write
integration__affinity__affinity_list_organization_fields affinity.affinity_list_organization_fields Read read
integration__affinity__affinity_list_organization_field_values affinity.affinity_list_organization_field_values Read read
integration__affinity__affinity_get_organization_field_value affinity.affinity_get_organization_field_value Read read
integration__affinity__affinity_list_organization_lists affinity.affinity_list_organization_lists Read read
integration__affinity__affinity_list_organization_list_entries affinity.affinity_list_organization_list_entries Read read
integration__affinity__affinity_list_organization_notes affinity.affinity_list_organization_notes Read read
integration__affinity__affinity_list_opportunities affinity.affinity_list_opportunities Read read
integration__affinity__affinity_get_opportunity affinity.affinity_get_opportunity Read read
integration__affinity__affinity_list_opportunity_notes affinity.affinity_list_opportunity_notes Read read
integration__affinity__affinity_list_lists affinity.affinity_list_lists Read read
integration__affinity__affinity_get_list affinity.affinity_get_list Read read
integration__affinity__affinity_list_list_fields affinity.affinity_list_list_fields Read read
integration__affinity__affinity_list_list_entries affinity.affinity_list_list_entries Read read
integration__affinity__affinity_get_list_entry affinity.affinity_get_list_entry Read read
integration__affinity__affinity_list_list_entry_fields affinity.affinity_list_list_entry_fields Read read
integration__affinity__affinity_get_list_entry_field affinity.affinity_get_list_entry_field Read read
integration__affinity__affinity_update_list_entry_field affinity.affinity_update_list_entry_field Write write
integration__affinity__affinity_batch_update_list_entry_fields affinity.affinity_batch_update_list_entry_fields Write write
integration__affinity__affinity_list_saved_views affinity.affinity_list_saved_views Read read
integration__affinity__affinity_get_saved_view affinity.affinity_get_saved_view Read read
integration__affinity__affinity_list_saved_view_entries affinity.affinity_list_saved_view_entries Read read
integration__affinity__affinity_list_notes affinity.affinity_list_notes Read read
integration__affinity__affinity_get_note affinity.affinity_get_note Read read
integration__affinity__affinity_list_note_replies affinity.affinity_list_note_replies Read read
integration__affinity__affinity_list_note_persons affinity.affinity_list_note_persons Read read
integration__affinity__affinity_list_note_companies affinity.affinity_list_note_companies Read read
integration__affinity__affinity_list_note_opportunities affinity.affinity_list_note_opportunities Read read
integration__affinity__affinity_list_calls affinity.affinity_list_calls Read read
integration__affinity__affinity_list_emails affinity.affinity_list_emails Read read
integration__affinity__affinity_list_meetings affinity.affinity_list_meetings Read read
integration__affinity__affinity_list_chat_messages affinity.affinity_list_chat_messages Read read
integration__affinity__affinity_list_transcripts affinity.affinity_list_transcripts Read read
integration__affinity__affinity_get_transcript affinity.affinity_get_transcript Read read
integration__affinity__affinity_list_transcript_fragments affinity.affinity_list_transcript_fragments Read read
integration__affinity__affinity_semantic_search affinity.affinity_semantic_search Read read
integration__affinity__affinity_api_get affinity.affinity_api_get Read read
integration__affinity__affinity_api_post affinity.affinity_api_post Write write
integration__affinity__affinity_api_put affinity.affinity_api_put Write write
integration__affinity__affinity_api_delete affinity.affinity_api_delete Write write

Write Access

Start with --write=deny for read-only MCP clients. Use --write=ask or --write=allow only when the client and workspace are trusted.