Skip to main content
Awards 2026 winner

Firmfact wins Most innovative market data project/initiative at the Inside Market Data & Inside Reference Data Awards 2026.

Read about the award

MCP connector for Claude and other AI assistants

Connect Claude or another AI assistant to your workspace and ask about market data spend, contracts, allocations and utilisation in plain English.

The firmfact connector lets Claude, or any AI assistant that supports remote MCP servers, answer questions about your market data costs: which vendors you buy from, what each contract and line item says, what each cost centre carries, who holds which subscriptions, and how much of what you pay for is actually used.

It works from what is already in your firmfact workspace. It is not a market data feed and returns no prices, quotes or reference data; everything it returns comes from your own contracts, invoices, allocations and cost centres.

The connector is a remote MCP server (Model Context Protocol, the open standard AI assistants use to reach other software) at https://firmfact.com/mcp. The same tools run from a terminal with the firmfact CLI, and App, API, MCP and CLI compares every way in.

What you need

  • A firmfact workspace on the Professional plan or above. The Demo workspace that comes with every signup can be connected on every plan, so you can try the connector on sample data first; its answers are marked as sample data.
  • Your normal firmfact sign-in. The connector sees exactly what you see, with your permissions and legal-entity scope, and nothing beyond it.
  • Claude on the web, Claude Desktop or Claude Code, or another AI assistant that supports remote MCP servers.

Connect

Claude and Claude Desktop

Firmfact is listed in Claude's Connectors Directory. Open firmfact in the directory and choose Connect, or search for "firmfact" under Customize → Connectors in Claude. Claude then sends you to firmfact to sign in, as in steps 2 and 3 below.

To add it by URL instead:

  1. In Claude, add a custom connector with the URL https://firmfact.com/mcp. There is no client ID, secret or token to paste.
  2. Claude sends you to firmfact to sign in.
  3. Approve the connection. By default it reaches every workspace you belong to, so one connection covers your Demo workspace and your real one. To keep it to one workspace, untick that option and pick the workspace.

Connectors added on the web also work in Claude on your phone.

Claude Code

claude mcp add --transport http --scope user firmfact https://firmfact.com/mcp

--scope user makes the connector available in every project. Then run /mcp, pick the server and choose Authenticate. Sign-in opens in your browser and returns to Claude Code.

With the firmfact CLI installed, firmfact connect claude-code registers the connector for you and adds the CLI's agent skill, so Claude Code can also upload documents and export whole lists from your terminal.

Other AI assistants

Signing in without a token works today from Claude, Claude Code and the firmfact CLI. Other AI assistants that support remote MCP servers use the same URL with an API token, which a workspace admin creates under Settings → API Tokens. After you sign in, Settings → MCP in firmfact has the details for your client.

What you can ask

  • "Which vendors do we have, and what is each one costing us?"
  • "How much have we spent on Bloomberg over the last 12 months, and what is the trend?"
  • "Who holds Bloomberg subscriptions, and does anyone hold more than one?"
  • "Which of our FactSet subscriptions are under-used?"
  • "Show me the line items on our LSEG contract."
  • "Which invoices are due this month, and which contract is each one matched to?"
  • "Which cost centres carry market data costs, and what is each one's monthly figure?"
  • "Break our market data spend down by cost centre for this year and tell me which grew most."
  • "Which applications and platforms consume market data here?"
  • "Which projects consume market data, and how is the Bloomberg Anywhere cost split?"

Costs come back in your workspace's base currency, and invoice totals in the invoice's own currency. When you have more than one workspace connected, name the one you mean, or ask your AI assistant which workspaces it can reach.

What the connector does and does not do

  • It reads. Every tool is read-only except chat_with_workspace, which saves your question and its answer as a chat thread in the workspace, so the exchange can be reviewed in the web app.
  • It never creates, edits or deletes a vendor, contract, cost or allocation. Where a change is needed, chat_with_workspace describes it, and someone confirms it in the web app.
  • Connecting copies nothing out of your workspace. Data moves only when your AI assistant calls a tool, and only what that tool returns.
  • It does not upload documents or export a whole list in one go. The cli_commands tool returns the firmfact CLI commands for those, and for signing up, scripts and CI; an AI assistant with a terminal, such as Claude Code, Codex, GitHub Copilot or Cursor, can run them itself.

Your data

  • Tool results go to the AI client that asked for them and are handled under that client's terms. The connector sends nothing anywhere else.
  • chat_with_workspace prepares its answer with the AI sub-processor named in the privacy notice, the same way the in-app assistant does. Zero data retention is enabled on our account with that sub-processor, so it does not keep the request or its answer once the answer is prepared. The other tools return your data without an AI step.
  • Firmfact does not use your workspace data to train or improve any AI model, and does not authorise any sub-processor to do so.
  • Connector calls are logged for security and audit, and kept for the period set out in the privacy notice.

Ending access

  • Settings → MCP, in the workspace you picked when you approved the connection, lists it with the other AI clients. Revoke one there and its next request is refused.
  • Removing the connector in your AI assistant ends the connection from that side.

Tools

Tool What it does Access
chat_with_workspace Answers a freeform question about the workspace's spend and estate. Saves a chat thread
list_vendors Lists market data vendors and suppliers. Read-only
list_contracts Lists vendor contracts. Read-only
list_contract_items Lists the line items inside a contract, such as a single seat or licence. Read-only
list_invoices Lists vendor invoices with their dates, totals, status and the contract each is matched to. Read-only
list_products Lists market data products and subscriptions. Read-only
list_product_groups Lists the groups used to categorise products. Read-only
list_applications Lists the applications and systems that consume market data. Read-only
list_platforms Lists the platforms that deliver or host market data. Read-only
list_cost_centers Lists the cost centres that market data costs are allocated to. Read-only
list_projects Lists the projects that consume market data. Read-only
list_allocations Lists how a subscription's cost is split across people, departments or cost centres. Read-only
list_currencies Lists the currencies used in pricing and invoices. Read-only
analyze_cost_trends Answers how much you spend on X, month by month, with an optional forecast. Read-only
analyze_allocations Answers who holds or uses X, per person and per department. Read-only
analyze_utilization Answers how much of what you pay for is used, and flags under-used subscriptions. Read-only
cli_commands Returns the CLI commands for uploading documents, exporting a whole list, signing up or in, scripts and CI, and registering the connector in Claude Code, with the install line for each platform. Read-only
list_workspaces Lists the workspaces the connection can reach. Read-only

A connection that reaches a workspace on the Professional plan or above also gets tools for contract documents, invoice lines and reconciliation, budgets, spend by vendor and by part of the organisation, and licences paid for but not allocated. They are read-only, and they answer only for workspaces on those plans, not for the Demo workspace.

Help

  • If your AI assistant reports that the connector is busy, it has hit a usage limit; it can try again a little later.
  • If an answer comes back empty, the question probably ran against a different workspace from the one you meant, or your permissions do not cover those entries. Name the workspace and ask again.
  • Anything else: support@firmfact.com.