Koskamo

Issuerwire MCP

Issuerwire MCP provides AI agents with access to a Capital Markets Knowledge Graph containing signed rows for filings and releases from listed companies. It supports tools to resolve issuers, list filings, retrieve specific rows, and check deltas since the last read, serving as a source for capital markets news and regulatory data.

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.

Issuerwire MCP logo, by Allooloo Technologies Corp.Community listingStreamable HTTPNo sign-inEndpoint checked 2026-11-01Published by Allooloo Technologies Corp.
You need:no account to start
MCP endpoint (Streamable HTTP)
https://mcp.issuerwire.ai/mcp
Vendor documentation

What you can do with it

  • Resolve issuer details by name or ticker
  • List recent filings for a specific issuer
  • Retrieve signed rows for specific filings
  • Check for new filings since last read

Source and maintenance

Community listingRegistry 1.4.1

Protocol and capabilities

Server
issuerwire 1.3.3
MCP protocol
2025-06-18
Tools
8 advertised
Resources
0 advertised
Resource templates
0 advertised
Prompts
0 advertised
Server-advertised capabilities
{
  "tools": {
    "listChanged": true
  },
  "logging": {},
  "prompts": {
    "listChanged": true
  },
  "resources": {
    "subscribe": false,
    "listChanged": true
  }
}

Server-provided instructions

Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.

Issuerwire is capital markets news served to AI agents. Every node market of the Capital Markets Knowledge Graph — the markets it carries tonight are listed on /facts.json. It holds one signed row per filing or release for every listed company in the markets it carries, each row carrying its source page, and answers an agent's question — what has this issuer filed since my last read — over the Model Context Protocol and Agent-to-Agent protocols at mcp.issuerwire.ai. Operated by Allooloo Technologies Corp. Prepared for independent review; auditor access for Deloitte, KPMG, EY and PwC. Call resolve_issuer to find the issuer_key, then list_filings or get_delta(issuer, since) for what it has filed; every row carries its source page and is signed (kid amn-2026-10, keyring https://issuerwire.ai/.well-known/jwks.json). Reads are open at the facts level; the full signed rows and the delta settle on x402 inside the call (retry the same call with a PAYMENT-SIGNATURE header against the terms in payment_required). No price, rating, summary or sentiment is on the record. Artificial intelligence (AI) makes mistakes; Issuerwire reads filings, it does not vouch for issuers. Nothing here is investment advice.

Tools

8 advertised

resolve_issuer — Resolve Issuer
Advertised by the server during the last successful anonymous check.

Who is this issuer? A name, ticker, ISIN, LEI, CIK or Companies House number (optionally a market: US · UK · CA · DE · FR · NL · CH · AU · SG · JP · KR · HK) resolves to the issuer keys on the record, with name, tickers, status and claim standing. Open.

resolve_issuer input schema
{
  "type": "object",
  "required": [
    "query"
  ],
  "properties": {
    "limit": {
      "type": "integer",
      "default": 10
    },
    "query": {
      "type": "string"
    },
    "market": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    }
  }
}
resolve_issuer output schema
{
  "type": "object"
}
get_issuer — Get Issuer
Advertised by the server during the last successful anonymous check.

One issuer row by issuer_key. Open at the facts level (name, tickers, identifiers, status, claim standing, how many rows the record holds for it); the full signed row — every field with its source page and read date — settles on x402 inside the call.

get_issuer input schema
{
  "type": "object",
  "required": [
    "issuer_key"
  ],
  "properties": {
    "issuer_key": {
      "type": "string"
    }
  }
}
get_issuer output schema
{
  "type": "object"
}
list_filings — List Filings
Advertised by the server during the last successful anonymous check.

The news rows the record holds for an issuer: filings, releases and third-party coverage, newest first, from a date. Open at the facts level (id, date, type, title, counts); the signed rows with their source pages settle on x402.

list_filings input schema
{
  "type": "object",
  "required": [
    "issuer"
  ],
  "properties": {
    "type": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "limit": {
      "type": "integer",
      "default": 50
    },
    "since": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "issuer": {
      "type": "string"
    }
  }
}
list_filings output schema
{
  "type": "object"
}
get_delta — Get Delta
Advertised by the server during the last successful anonymous check.

What has this issuer filed or released since my last read? Pass the instant (or date) of your last read — for one issuer, or for a whole market with market=US·UK·CA·DE·FR·NL·CH·AU·SG·JP·KR·HK and no issuer; the signed delta — every new row with its source page and the delta envelope signed — settles on x402 inside the call. Open at the facts level (count and ids).

get_delta input schema
{
  "type": "object",
  "properties": {
    "since": {
      "type": "string",
      "default": ""
    },
    "issuer": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "market": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    }
  }
}
get_delta output schema
{
  "type": "object"
}
get_row — Get Row
Advertised by the server during the last successful anonymous check.

One news row by id. Facts level open; the full signed row (source page, publisher, read date, signature) settles on x402.

get_row input schema
{
  "type": "object",
  "required": [
    "id"
  ],
  "properties": {
    "id": {
      "type": "string"
    }
  }
}
get_row output schema
{
  "type": "object"
}
claim_row — Claim Row
Advertised by the server during the last successful anonymous check.

An issuer claims its row, free: the issuer's domain and a contact; the nightly claims rail reads the domain and the row moves listed → claimed (verified when the domain answers on its cadence). A claim that stops answering falls back to listed.

claim_row input schema
{
  "type": "object",
  "required": [
    "issuer_key",
    "domain",
    "contact"
  ],
  "properties": {
    "domain": {
      "type": "string"
    },
    "contact": {
      "type": "string"
    },
    "issuer_key": {
      "type": "string"
    }
  }
}
claim_row output schema
{
  "type": "object"
}
create_order_intent — Create Order Intent
Advertised by the server during the last successful anonymous check.

An order intent for a paid read (the full row or the delta): returns the x402 terms for mcp.issuerwire.ai and the intent id to carry into the paid call. Nothing is sold but the read.

create_order_intent input schema
{
  "type": "object",
  "required": [
    "issuer"
  ],
  "properties": {
    "scope": {
      "type": "string",
      "default": "delta"
    },
    "since": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "issuer": {
      "type": "string"
    }
  }
}
create_order_intent output schema
{
  "type": "object"
}
log_audit — Log Audit
Advertised by the server during the last successful anonymous check.

Write a signed audit line to the ledger (kinds: read · claim · order_intent · note) for a reference id from this door; returns the ledger event id.

log_audit input schema
{
  "type": "object",
  "required": [
    "kind",
    "reference_id"
  ],
  "properties": {
    "kind": {
      "type": "string"
    },
    "note": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "reference_id": {
      "type": "string"
    }
  }
}
log_audit output schema
{
  "type": "object"
}

Prompts

0 advertised

No prompt definitions available.

Resources

0 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
1579 ms
95th percentile latency
1579 ms

Maintenance history

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

  • · probe · passed · 1579 ms · metadata changed · 8 tool(s), 0 resource(s), 0 resource template(s), 0 prompt(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 issuerwire-mcp https://mcp.issuerwire.ai/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 issuerwire-mcp --url https://mcp.issuerwire.ai/mcp

Cursor

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

Cline

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

VS Code

Merge this server into .vscode/mcp.json. Use MCP: List Servers to start issuerwire-mcp and inspect its tools.
VS Code configuration
{
  "servers": {
    "issuerwire-mcp": {
      "type": "http",
      "url": "https://mcp.issuerwire.ai/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 issuerwire-mcp https://mcp.issuerwire.ai/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": {
    "issuerwire-mcp": {
      "url": "https://mcp.issuerwire.ai/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": {
    "issuerwire-mcp": {
      "serverUrl": "https://mcp.issuerwire.ai/mcp"
    }
  }
}

Let your agent find its tools

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