Koskamo

CaliberAPI MCP

An MCP server providing read-only access to CaliberAPI's pistol optic compatibility dataset. It allows agents to check direct-fit and adapter-plate compatibility between pistols and red dot optics, list optics for a pistol, list pistols for an optic, get footprint details, and search the dataset. Every response includes source citations and dataset versioning.

Endpoint and access

No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.

CaliberAPI MCP logo, by CaliberAPIVendor evidenceStreamable HTTPNo sign-inEndpoint checked 2026-11-01Operated by CaliberAPI
MCP endpoint (Streamable HTTP)
https://mcp.caliberapi.com/mcp
Vendor documentation

What you can do with it

  • Check if a specific optic fits a pistol directly or via adapter
  • List all optics compatible with a specific pistol model
  • List all pistols compatible with a specific optic model
  • Search for firearms or optics within the compatibility dataset

Source and maintenance

Vendor evidenceRegistry 1.0.0

Protocol and capabilities

Server
caliberapi 1.0.0
MCP protocol
2025-06-18
Tools
5 advertised
Resources
Not advertised
Resource templates
Not advertised
Prompts
Not advertised
Server-advertised capabilities
{
  "tools": {
    "listChanged": true
  }
}

Tools

5 advertised

check_fit — Check pistol and optic fit
Advertised by the server during the last successful anonymous check.
Advertised read-only

Answer whether a specific red dot optic fits a specific pistol, from source-cited data. Returns fit "direct" (mounts on the slide cut, with the footprint), "adapter" (only through the adapter plate chain in via, with plate maker, model, mount and presented footprints, and plate sources), or "unknown" (no cited fit in the dataset, which is not evidence it does not fit). Returns "needs_clarification" with candidates when a name is ambiguous; call again with a candidate slug. Report the answer exactly as returned: never call an adapter fit a direct fit, and never turn "unknown" into "does not fit". Cite with the returned citation line and link html_url.

check_fit input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "pistol",
    "optic"
  ],
  "properties": {
    "optic": {
      "type": "string",
      "minLength": 1,
      "description": "Optic slug (e.g. \"trijicon/rmr-type-2\") or name (e.g. \"Trijicon RMR Type 2\")."
    },
    "pistol": {
      "type": "string",
      "minLength": 1,
      "description": "Pistol slug (e.g. \"taurus/g3-toro\") or name (e.g. \"Taurus G3 TORO\")."
    }
  }
}
check_fit annotations
{
  "title": "Check pistol and optic fit",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
list_optics_for_pistol — List optics for a pistol
Advertised by the server during the last successful anonymous check.
Advertised read-only

List every optic with a cited fit on one pistol, each marked direct (with footprint) or adapter (with the plate chain in via). Use it for questions like "what red dots fit my pistol". Optics not listed have no cited fit, which is not evidence they do not fit. Report the answer exactly as returned: never call an adapter fit a direct fit, and never turn "unknown" into "does not fit". Cite with the returned citation line and link html_url.

list_optics_for_pistol input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "pistol"
  ],
  "properties": {
    "fit": {
      "enum": [
        "direct",
        "adapter",
        "any"
      ],
      "type": "string",
      "default": "any",
      "description": "Only direct fits, only adapter-plate fits, or both (default)."
    },
    "pistol": {
      "type": "string",
      "minLength": 1,
      "description": "Pistol slug (e.g. \"taurus/g3-toro\") or name (e.g. \"Taurus G3 TORO\")."
    }
  }
}
list_optics_for_pistol annotations
{
  "title": "List optics for a pistol",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
list_pistols_for_optic — List pistols for an optic
Advertised by the server during the last successful anonymous check.
Advertised read-only

List every pistol with a cited fit for one optic, each marked direct (with footprint) or adapter (with the plate chain in via). Use it for questions like "what pistols take this red dot". Report the answer exactly as returned: never call an adapter fit a direct fit, and never turn "unknown" into "does not fit". Cite with the returned citation line and link html_url.

list_pistols_for_optic input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "optic"
  ],
  "properties": {
    "optic": {
      "type": "string",
      "minLength": 1,
      "description": "Optic slug (e.g. \"trijicon/rmr-type-2\") or name (e.g. \"Trijicon RMR Type 2\")."
    }
  }
}
list_pistols_for_optic annotations
{
  "title": "List pistols for an optic",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_footprint — Get an optic footprint
Advertised by the server during the last successful anonymous check.
Advertised read-only

Describe one optic mounting footprint or plate system (for example RMR, RMSc, ACRO, DPP, Glock MOS): screw and recoil lug counts, the optics that use it, the pistols cut for it directly, and the adapter plates that mount or present it, with sources.

get_footprint input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "name_or_slug"
  ],
  "properties": {
    "name_or_slug": {
      "type": "string",
      "minLength": 1,
      "description": "Footprint slug (e.g. \"rmsc\") or name (e.g. \"RMSc\", \"Glock MOS\")."
    }
  }
}
get_footprint annotations
{
  "title": "Get an optic footprint",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
search — Search the dataset
Advertised by the server during the last successful anonymous check.
Advertised read-only

Find pistols, optics and footprints by name. Returns slugs, names and page URLs to pass to the other tools. Use it when you are unsure of an exact model name.

search input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "query"
  ],
  "properties": {
    "type": {
      "enum": [
        "pistols",
        "optics",
        "footprints"
      ],
      "type": "string",
      "description": "Limit results to one kind of record."
    },
    "query": {
      "type": "string",
      "minLength": 1,
      "description": "Words to match, e.g. \"glock 19\", \"holosun 507\", \"rmr\"."
    }
  }
}
search annotations
{
  "title": "Search the dataset",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}

Prompts

Not advertised

No prompt definitions available.

Resources

Not advertised

No resource definitions available.

30-day availability

Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.

Successful checks
1 of 1 (100%)
Average latency
245 ms
95th percentile latency
245 ms

Maintenance history

Public check and source-refresh events. Editorial and ownership records remain private.

  • · probe · passed · 245 ms · metadata changed · 5 tool(s)

Connect from your client

Each snippet registers the same endpoint; pick the client you use.

This server is operated by the named third party. Listing and endpoint checks are not an endorsement or a security audit. Review the operator's permissions, terms, and data handling before connecting. How listings are checked and corrected.

Claude Code

Run this once in a terminal. It registers the remote server. Use --scope project to write .mcp.json for the repo.
Claude Code configuration
claude mcp add --transport http caliberapi-mcp https://mcp.caliberapi.com/mcp

Codex

Run this once. Codex stores MCP servers in ~/.codex/config.toml (or .codex/config.toml in a trusted project).
Codex configuration
codex mcp add caliberapi-mcp --url https://mcp.caliberapi.com/mcp

Cursor

Merge this server into .cursor/mcp.json in your project, then enable caliberapi-mcp in your MCP settings.
Cursor configuration
{
  "mcpServers": {
    "caliberapi-mcp": {
      "url": "https://mcp.caliberapi.com/mcp"
    }
  }
}

Cline

Merge this into cline_mcp_settings.json (Cline → MCP Servers → Configure).
Cline configuration
{
  "mcpServers": {
    "caliberapi-mcp": {
      "type": "streamableHttp",
      "url": "https://mcp.caliberapi.com/mcp",
      "disabled": false
    }
  }
}

VS Code

Merge this server into .vscode/mcp.json. Use MCP: List Servers to start caliberapi-mcp and inspect its tools.
VS Code configuration
{
  "servers": {
    "caliberapi-mcp": {
      "type": "http",
      "url": "https://mcp.caliberapi.com/mcp"
    }
  }
}

Gemini CLI

Run this once. It writes .gemini/settings.json in the current project; pass --scope user for ~/.gemini/settings.json.
Gemini CLI configuration
gemini mcp add --transport http caliberapi-mcp https://mcp.caliberapi.com/mcp

Claude Desktop

Merge this into claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/, Windows: %APPDATA%\Claude\), then restart Claude Desktop.
Claude Desktop configuration
{
  "mcpServers": {
    "caliberapi-mcp": {
      "url": "https://mcp.caliberapi.com/mcp"
    }
  }
}

Windsurf

Merge this into ~/.codeium/windsurf/mcp_config.json, then refresh MCP in Cascade. Windsurf remote servers use serverUrl, not url.
Windsurf configuration
{
  "mcpServers": {
    "caliberapi-mcp": {
      "serverUrl": "https://mcp.caliberapi.com/mcp"
    }
  }
}

Let your agent find its tools

Find servers like CaliberAPI MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.

Do you run CaliberAPI MCP?

Prove ownership with a DNS record, a well-known file, or your Official MCP Registry entry, and your edits publish immediately. Proofs are re-checked weekly; admins can still hide or remove a listing.

Claim this listing