apifirme in your AI assistant

You ask in your own words, and the assistant looks up the answer in the official registers and tells you where it has it from. It works with Claude, ChatGPT, Perplexity, Mistral, Grok, Copilot, Cursor and any other assistant that speaks the Model Context Protocol (MCP).

One address

https://api.apifirme.dev/mcp
  1. Paste the address into your assistant, where a connector or an MCP server is added.
  2. The assistant sends you to apifirme: sign in with your e-mail address (or open an account on the spot, free) and press “Allow”.
  3. Ask. The assistant decides by itself what to look up.

You copy no key and install nothing. The free plan is enough for 100 questions a month; connecting is not counted.

What you can ask

Don't know the CUI? The assistant finds the company by its name or by its trade register number.

Step by step, in your assistant

The menus are each assistant's own and change now and then. If you cannot find an option, look for “connector” or “MCP” in its settings: the address above is all you need.

Claude · claude.ai and Claude Desktop, on any plan; the free one allows a single custom connector
  1. Open Customize → Connectors, click “+” and choose “Add custom connector”.
  2. Enter a name, for example apifirme, and paste the address above.
  3. Leave the other options as they are and click “Add”, then “Connect”.
  4. The assistant sends you to apifirme: sign in (or open an account on the spot, free) and press “Allow”.
ChatGPT · on the web, with a paid plan; custom connectors are part of “Developer mode”
  1. In Settings, switch on “Developer mode”.
  2. Add a new app (chatgpt.com/plugins, the “+” button): a name, the address above as “MCP server URL”, and “OAuth” for authentication.
  3. The assistant sends you to apifirme: sign in (or open an account on the spot, free) and press “Allow”.
  4. In a conversation, pick apifirme from the “+” menu.
Perplexity · the Pro, Max and Enterprise plans, on the web and in the desktop app
  1. Open Settings → Connectors, click “+ Custom connector” and choose “Remote”.
  2. Enter a name and the address above; for “Authentication” choose “OAuth”, for “Transport” “Streamable HTTP”.
  3. Click the connector you added to start signing in.
  4. The assistant sends you to apifirme: sign in (or open an account on the spot, free) and press “Allow”.
Mistral (Le Chat, Vibe)
  1. Open Connectors, click “+ Add Connector” and choose the “Custom MCP Connector” tab.
  2. Enter a name and the address above and click “Connect”; the kind of authentication is detected automatically.
  3. The assistant sends you to apifirme: sign in (or open an account on the spot, free) and press “Allow”.
Grok
  1. Open grok.com/connectors, click “New Connector” and choose “Custom”.
  2. Paste the address above and start signing in.
  3. The assistant sends you to apifirme: sign in (or open an account on the spot, free) and press “Allow”.
Microsoft Copilot Studio · for agents built in Copilot Studio; in Microsoft 365 Copilot connectors are added by the administrator
  1. In the agent: Tools → Add a tool → New tool → Model Context Protocol.
  2. Enter a name, a description and the address above; for authentication choose “OAuth 2.0” with “Dynamic discovery”.
  3. The assistant sends you to apifirme: sign in (or open an account on the spot, free) and press “Allow”.
Gemini
  1. For now the Gemini app takes custom MCP servers only for personal accounts in the United States: Settings → Connected Apps → Custom apps → “Add a custom app”, with the address above.
  2. Anywhere else, use Gemini CLI: see below.

For programs and agents: with an API key

Tools that read a configuration file can send, instead of signing in, an API key in the Authorization header. You create the key in your account and put it in place of YOUR_API_KEY.

Claude Code
claude mcp add --transport http apifirme https://api.apifirme.dev/mcp

Then type /mcp in Claude Code and pick apifirme to sign in. With a key instead of signing in, add to the command: --header "Authorization: Bearer YOUR_API_KEY"

Cursor · ~/.cursor/mcp.json
{
  "mcpServers": {
    "apifirme": {
      "url": "https://api.apifirme.dev/mcp",
      "headers": { "Authorization": "Bearer YOUR_API_KEY" }
    }
  }
}

Without the “headers” line, Cursor sends you to sign in, like the assistants above.

VS Code (GitHub Copilot) · .vscode/mcp.json
{
  "inputs": [
    {
      "type": "promptString",
      "id": "apifirme-key",
      "description": "apifirme API key",
      "password": true
    }
  ],
  "servers": {
    "apifirme": {
      "type": "http",
      "url": "https://api.apifirme.dev/mcp",
      "headers": { "Authorization": "Bearer ${input:apifirme-key}" }
    }
  }
}

VS Code asks you for the key once and keeps it outside the file.

Gemini CLI
gemini mcp add --transport http --header "Authorization: Bearer YOUR_API_KEY" apifirme https://api.apifirme.dev/mcp
Codex CLI · ~/.codex/config.toml
[mcp_servers.apifirme]
url = "https://api.apifirme.dev/mcp"
bearer_token_env_var = "APIFIRME_API_KEY"

The key lives in the APIFIRME_API_KEY environment variable.

Windsurf, Cline, Zed, LM Studio, Goose, n8n and others
{
  "mcpServers": {
    "apifirme": {
      "url": "https://api.apifirme.dev/mcp",
      "headers": { "Authorization": "Bearer YOUR_API_KEY" }
    }
  }
}

The address field has a different name from one client to the next: url, serverUrl (Windsurf), httpUrl (Gemini CLI), uri (Goose). Where a transport is asked for, choose “Streamable HTTP”.

From your own code: the OpenAI and Anthropic APIs
// OpenAI Responses API, in "tools"
{ "type": "mcp", "server_label": "apifirme", "server_url": "https://api.apifirme.dev/mcp",
  "headers": { "Authorization": "Bearer YOUR_API_KEY" }, "require_approval": "never" }

// Anthropic Messages API, in "mcp_servers"
{ "type": "url", "name": "apifirme", "url": "https://api.apifirme.dev/mcp",
  "authorization_token": "YOUR_API_KEY" }

What the assistant gets

Tool What it is for
find_company Finds a company without its CUI: by name or by its trade register number.
lookup_company A company's data by CUI: name, registered office, status, CAEN code, VAT, e-Factura.
check_invoice The check before invoicing: exists, registered for VAT, VAT on collection, inactive, e-Factura.
get_financials The annual financial statements, since 2008.
get_company_events What has changed at a company since we have been tracking it.
get_fx_rate The BNR reference exchange rate, since 2005.
count_new_companies How many new companies were registered, by field of activity and county. In every plan.
list_new_companies The list of newly registered companies. In the plans that include it.

All tools only read. The assistant cannot change anything, neither in the data nor in your account.

Good to know