Skip to main content
Glama
KerryanOPMace

INSEE MCP Server

INSEE MCP Server

MCP (Model Context Protocol) server for accessing INSEE data via the SIRENE API, BDM, and official nomenclatures.

One-line Installation

# Install and launch directly
API_KEY="your_insee_api_key" uv run --with insee-mcp insee-mcp

or if you prefer to use uvx

# Install and launch directly
API_KEY="your_insee_api_key" uvx insee-mcp insee-mcp

Standard MCP Configuration

Add this to your MCP configuration (e.g., Claude Desktop, or Copilot):

{
  "mcpServers": {
    "insee": {
      "command": "uvx",
      "args": ["insee-mcp", "insee-mcp"],
      "env": {
        "API_KEY": "your_insee_api_key"
      }
    }
  }
}

With pipx

API_KEY="your_insee_api_key" pipx run --spec git+https://github.com/KerryanOPMace/mcp-insee.git insee-mcp

Related MCP server: mcp-insee-entreprises

Quick Installation

# Install directly from GitHub
pip install git+https://github.com/KerryanOPMace/mcp-insee.git

# Set your INSEE API key
export API_KEY="your_insee_api_key"

# Start the server
insee-mcp

Installation with pipx (isolated)

# Install with pipx (isolated environment)
pipx install git+https://github.com/KerryanOPMace/mcp-insee.git

# Set the API key
export API_KEY="your_insee_api_key"

# Start the server
insee-mcp

Developer Installation

# Clone the repository
git clone https://github.com/KerryanOPMace/mcp-insee.git
cd mcp-insee

# Install in development mode
pip install -e .

If you wish to contribute to the project, please create issues and branches. You can merge request and then a supervisor will review it before merging

Configuration

INSEE API Key

You must obtain an API key from the INSEE API portal and configure it:

Linux/Mac:

export API_KEY="your_insee_api_key"

Windows (PowerShell):

$env:API_KEY="your_insee_api_key"

Windows (CMD):

set API_KEY=your_insee_api_key

Available Tools

  • search_company: Search for companies in the SIRENE database

    • By SIREN, SIRET, or company name

    • Fuzzy search available

STREAMABLE-HTTP TRANSPORT

Server Access

Once started, the MCP server is accessible at:

  • URL: http://127.0.0.1:8000/mcp

  • Transport: Streamable HTTP

Client Test

from fastmcp import Client
import asyncio

async def test():
    client = Client("http://127.0.0.1:8000/mcp")
    async with client:
        # List tools
        tools = await client.list_tools()
        print(tools)
        
        # Search for a company
        result = await client.call_tool("search_company", {
            "siret": "44302124100072"
        })
        print(result)

asyncio.run(test())

Requirements

  • Python 3.8+

  • Valid INSEE API key

  • Internet access for API requests

STDIO TRANSPORT

Server Access

Once started, the MCP server runs locally according to the standard io protocol

Client Test

from fastmcp import Client
import asyncio

async def test():
    client = Client("http://127.0.0.1:8000/mcp")
    async with client:
        # List tools
        tools = await client.list_tools()
        print(tools)
        
        # Search for a company
        result = await client.call_tool("search_company", {
            "siret": "44302124100072"
        })
        print(result)

asyncio.run(test())

Requirements

  • Python 3.8+

  • Valid INSEE API key

  • Internet access for API requests

License

MIT License

Available Tools

1 tool
search_companyB

Recherche une entreprise dans la base SIRENE selon SIREN, SIRET ou nom.

ParametersJSON Schema
NameRequiredDescriptionDefault
company_nameNoNom de l'entreprise.
sirenNoCode SIREN.
siretNoCode SIRET.
fuzzyNoActive la recherche approximative si nom partiel.

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must disclose behavioral traits. It only states 'search' but does not clarify whether exact or fuzzy matching is default, how results are returned, or any side effects. The fuzzy parameter is in the schema but not highlighted in the description.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence in French, efficient and to the point. However, it could be slightly more structured by separating the search criteria or mentioning the database context more explicitly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 4 parameters, no output schema, and no annotations, the description is incomplete. It does not explain the search behavior when multiple parameters are provided, the structure of results, or any limitations. More details are needed for complete understanding.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so baseline is 3. The tool description adds no extra meaning beyond the schema's parameter descriptions, which are adequate but minimal. No additional context is provided for parameter usage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'search' and the resource 'company in the SIRENE database' along with the search criteria (SIREN, SIRET, or name). It is specific enough to distinguish from generic search tools, though no siblings are provided.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies the tool is used to search for companies using the given identifiers but does not provide explicit guidance on when to use each parameter or when to avoid this tool. No alternatives are mentioned, which is acceptable without siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

TDQS

B3.2/5.0
Disambiguation5/5

With only one tool, there is no ambiguity. The agent cannot confuse it with any other tool.

Naming Consistency5/5

Single tool name 'search_company' follows a clear verb_noun pattern, consistent within itself.

Tool Count2/5

A single search tool is too sparse for a domain like INSEE company data, which typically requires multiple operations (e.g., get details, list results, paginate).

Completeness1/5

The server covers only a basic search, missing essential operations like retrieving full company details, filtering, or pagination, making it severely incomplete for practical use.

Maintenance

ActivityInactive
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    F
    maintenance
    Enables interaction with the French business search API from data.gouv.fr, allowing users to search for French companies by text or geographical criteria and access essential business information.
    2
    18
    19
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    MCP server to query the INSEE SIRENE API and search for French companies, supporting searches by SIREN, SIRET, and advanced filters like name, location, and activity.
    1
  • F
    license
    Not graded
    quality
    C
    maintenance
    Enables AI agents to search and retrieve detailed profiles of 25 million French companies from the official government registry, including directors, activity codes, and establishment data, without requiring an API key.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/KerryanOPMace/mcp-insee'

If you have feedback or need assistance with the MCP directory API, please join our Discord server