npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@prospkt/mcp-server

v4.1.0

Published

MCP Server for French B2B Intelligence — 9 tools: company & prospect search, signals, tenders, enrichment, SQL queries, ICP scoring. 12M+ companies.

Downloads

68

Readme

@prospkt/mcp-server

npm version MCP

MCP Server for French B2B Intelligence — Access 12M+ French companies, prospect contacts, 34 business signal types, public tenders, LinkedIn data, and financial filings through 9 AI-ready tools.

Built on the Model Context Protocol, works with Claude Desktop, Cursor, Windsurf, and any MCP-compatible client.

Quick Start

Option 1: Claude Desktop (stdio)

Add to ~/.config/claude/claude_desktop_config.json:

{
  "mcpServers": {
    "prospkt": {
      "command": "npx",
      "args": ["-y", "@prospkt/mcp-server"],
      "env": {
        "PROSPKT_API_KEY": "psk_your_api_key_here"
      }
    }
  }
}

Option 2: Cursor / Windsurf

Add to your IDE's MCP settings:

{
  "prospkt": {
    "command": "npx",
    "args": ["-y", "@prospkt/mcp-server"]
  }
}

Option 3: SSE (HTTP) Server

npm install -g @prospkt/mcp-server
MCP_TRANSPORT=sse MCP_PORT=3200 prospkt-mcp

Then connect via http://localhost:3200/sse

Get an API Key

  1. Sign up at prospkt.fr
  2. Go to Settings → API Keys → Create MCP Key
  3. Copy your psk_... key

Free tier gets 5 tools with unlimited searches. Pro and Business unlock enrichment, SQL queries, and ICP scoring.

Tools (9 total)

Free Tools (Starter tier, 0 credits)

| Tool | Description | |------|-------------| | search_companies | Search French companies by NAF code, location, size, revenue, directors, signals, semantic search | | search_prospects | Search prospect contacts by job title, hierarchy level, work domain, company attributes | | search_signals | Search business signals: creations, hiring spikes, fundraising, director changes | | search_tenders | Search public tenders, contract attributions, or a company's tender win history | | describe_data | Unified reference: data schemas, NAF code hierarchy, CPV codes, signal type catalog |

Pro Tier

| Tool | Credits | Description | |------|---------|-------------| | get_company | 0 | Full company profile with optional LinkedIn data and signals (include: ["all"]) | | enrich_contact | 1-11 | Find professional email and/or phone — only tool that costs credits | | query_data | 0 | Execute custom SQL SELECT on 11 read-only views |

Business Tier

| Tool | Credits | Description | |------|---------|-------------| | icp_score | 0 | Score a company against your Ideal Customer Profile |

Example Prompts

For Claude Desktop / Cursor

"Find SAS companies in Paris with 50+ employees in the IT sector"

"Search for prospect contacts who are CTOs at tech companies in Lyon"

"Show me companies that recently changed their CEO"

"Search for public tenders related to cybersecurity in Ile-de-France"

"Get the full profile of SIREN 443061841 with LinkedIn data and recent signals"

"Find the email and phone number of Jean Dupont at Acme Corp"

"Who won IT service contracts worth over 100k in the last year?"

"Score SIREN 443061841 against my ICP: SAS, 50-500 employees, IT/consulting, Paris"

For query_data (Pro+ tier)

"Run SQL: SELECT siren, \"nomAffichage\", \"chiffreAffaire\" FROM mv_company_basic
 WHERE \"nafSection\" = 'J' AND \"trancheEffectifsUniteLegale\" >= '21'
 ORDER BY \"chiffreAffaire\" DESC NULLS LAST LIMIT 20"

SQL Security (query_data)

The query_data tool has comprehensive security:

  • Whitelist: Only SELECT and WITH (CTE) queries allowed
  • Blocked: DDL, DML, dangerous functions (pg_*, dblink, COPY, etc.)
  • Forced LIMIT: Pro = 100 rows, Business = 500 rows
  • Timeout: 5-second hard limit per query
  • Audit: Every query logged to mcp_query_log

Allowed Views (11)

| View | Description | Records | |------|-------------|---------| | mv_company_basic | Company profiles (SIRENE + LinkedIn) | 12M+ | | mv_company_size | Company size/employee data | 12M+ | | signals | Business events | 50M+ | | boamp | Public tenders | 2M+ | | dirigeants | Company directors | 15M+ | | bilans | Annual financial filings | 8M+ | | etablissement | Company establishments | 30M+ | | linkedin_companies | LinkedIn company profiles | 1M+ | | linkedin_jobs | Active job postings | 500K+ | | contract_attributions | Contract awards | 5M+ | | contract_attribution_lots | Contract award lots/winners | 5M+ |

Data Sources

| Source | Coverage | Update Frequency | |--------|----------|-----------------| | SIRENE (INSEE) | 12M+ French companies | Daily | | BODACC | Legal announcements | Daily | | INPI | Directors, financials | Weekly | | LinkedIn | Company profiles, jobs, contacts | Weekly | | BOAMP | Public tenders | Daily | | SITADEL | Building permits | Monthly | | TED | EU tenders | Daily |

Configuration

Environment Variables

| Variable | Default | Description | |----------|---------|-------------| | PROSPKT_API_KEY | — | API key (alternative to passing in each tool call) | | PROSPKT_API_URL | https://app.prospkt.fr/api/v1/mcp | API base URL | | MCP_TRANSPORT | stdio | Transport: stdio or sse | | MCP_PORT | 3200 | HTTP port for SSE transport | | NAF_DATA_PATH | auto-detected | Path to NAF classification data |

Architecture

mcp-server/
├── src/
│   ├── index.js          # MCP server setup, tool registration, transport
│   ├── api-client.js     # API client for Laravel backend
│   ├── mcp-error.js      # Structured error handling
│   └── tools/            # 9 tool implementations
│       ├── search_companies.js   # Company search (NAF, location, size, directors, signals, semantic)
│       ├── search_prospects.js   # Prospect/contact search (hierarchy, domain, title)
│       ├── search_signals.js     # Business signal search (34 event types)
│       ├── search_tenders.js     # Tenders + attributions + company tender history
│       ├── get_company.js        # Company profile + optional LinkedIn & signals
│       ├── enrich_contact.js     # Email and/or phone enrichment
│       ├── query_data.js         # Custom SQL queries on 11 views
│       ├── icp_score.js          # Ideal Customer Profile scoring
│       └── describe_data.js      # Unified reference (schemas, NAF, CPV, signals)
├── docs/                 # Documentation
├── package.json
├── smithery.yaml         # Smithery.ai registry manifest
└── README.md

Credit Pricing

| Tool | Credits | Notes | |------|---------|-------| | search_companies | 0 | Unlimited searches | | search_prospects | 0 | Unlimited searches | | search_signals | 0 | Unlimited searches | | search_tenders | 0 | Unlimited (all modes) | | describe_data | 0 | Reference tool (schemas, NAF, CPV, signals) | | get_company | 0 | Full profile with LinkedIn + signals | | enrich_contact | 1-11 | Only tool that costs credits. Email = 1, phone = 10, both = 11 | | query_data | 0 | Unlimited queries | | icp_score | 0 | Unlimited scoring |

Tier Comparison

| Feature | Starter (Free) | Pro | Business | |---------|----------------|-----|----------| | Company search | Unlimited | Unlimited | Unlimited | | Prospect search | Unlimited | Unlimited | Unlimited | | Signal search | Unlimited | Unlimited | Unlimited | | Tender search | Unlimited | Unlimited | Unlimited | | Reference data | Unlimited | Unlimited | Unlimited | | Company profiles | - | Free | Free | | Contact enrichment | - | 1-11 cr | 1-11 cr | | Custom SQL | - | 100 rows | 500 rows | | ICP scoring | - | - | Free | | Rate limit | 100/hr | 500/hr | 2000/hr |

Support

License

Proprietary — 2025 Prospkt SAS. All rights reserved.