Internal MCP server for Claude Desktop — search Supplier.io supplier database using natural language. Built with Node.js, Express, and @modelcontextprotocol/sdk.
MCPpedia last refreshed this data
Supplierio MCP is an MCP server that internal MCP server for Claude Desktop — search Supplier.io supplier database using natural language. Built with Node.js, Express, and @modelcontextprotocol/sdk. Its tool list has not been published yet over stdio and http, requires no API key, and scores 87/100 on MCPpedia's security, maintenance and efficiency rubric.
Config is the same across clients — only the file and path differ.
{
"mcpServers": {
"supplierio-mcp": {
"args": [
"-y",
"npx"
],
"command": "npx"
}
}
}Are you the author?
Add this badge to your README to show your security score and help users find safe servers.
An MCP (Model Context Protocol) server that lets Claude search the Supplier.io supplier database using natural language.
Run this in your terminal to verify the server starts. Then let us know if it worked — your result helps other developers.
npx -y 'npx' 2>&1 | head -1 && echo "✓ Server started successfully"
After testing, let us know if it worked:
Five weighted categories — click any category to see the underlying evidence.
No known CVEs.
Checked npx against OSV.dev.
Click any tool to inspect its schema.
Be the first to review
Have you used this server?
Share your experience — it helps other developers decide.
Sign in to write a review.
Others in ai-ml / data
MCP client bridge: connects to MCP servers and registers their tools on ctx.tools
An autonomous agent that conducts deep research on any data using any LLM providers
Manage Supabase projects — databases, auth, storage, and edge functions
The official MCP server implementation for the Perplexity API Platform
MCP Security Weekly
Get CVE alerts and security updates for Supplierio Mcp and similar servers.
Start a conversation
Ask a question, share a tip, or report an issue.
Sign in to join the discussion.
An MCP (Model Context Protocol) server that lets Claude search the Supplier.io supplier database using natural language.
Example queries:
The server exposes a search_suppliers tool to Claude. When you ask Claude a supplier-related question, it automatically maps your natural language to the right API filters and returns matching suppliers with TrustIQ scores, diversity classifications, and company details.
Claude (claude.ai)
│ OAuth 2.0
▼
MCP Server (Node.js / Express) ← deployed on Render
│ GET query params
▼
Supplier.io API (GetSearchDetail)
Key files:
src/
index.ts Express server, MCP endpoint, OAuth middleware
oauthServer.ts OAuth 2.0 Authorization Code + PKCE flow
supplierioClient.ts Supplier.io API client (GET + query params)
tools/
searchSuppliers.ts MCP tool definition and parameter mapping
renderer.ts HTML result cards rendered in Claude
users.ts User management (bcrypt password hashing)
auth.ts Bearer token validation
logger.ts Usage logging
| Parameter | Description | Example |
|---|---|---|
searchQuery | Keyword search | "catering", "IT staffing" |
organizationName | Filter by company name | "Acme Corp" |
state | 2-letter US state code | "TX", "MA" |
country | ISO 3-letter country code | "USA", "CAN" |
naicsCode | 6-digit NAICS industry code | "541511" |
sicCode | 4-digit SIC industry code | "7372" |
diversityClassification | Diversity type | "MBE", "WBE", "VOSB", "LGBTQ" |
sustainabilityClassification | Sustainability certification | "B Corp" |
ethnicity | Ethnicity filter | "Asian", "Black", "Hispanic" |
employee | Employee count range | "1-50", "51-200" |
revenue | Annual revenue range | "$1M-10M", "$10M-50M" |
Prerequisites: Node 20+, npm
.env file:PORT=8080
BASE_URL=http://localhost:8080
VALID_TOKENS={"yourname":"tok_yourname_abc123"}
USERS={"you@supplier.io":"$2b$10$...bcrypt_hash_here"}
ADMIN_TOKEN=pick_a_strong_random_string
SUPPLIERIO_API_KEY=your_api_key
SUPPLIERIO_CUSTOMER_ID=your_customer_id
SUPPLIERIO_CUSTOMER_NAME=your_customer_name
SUPPLIERIO_BASE_URL=https://nextgenapi.supplierio.com/supplier
LOG_PATH=./logs/usage.log
npm install
npx ts-node -e "import('./src/users.js').then(m => m.hashPassword('yourpassword').then(console.log))"
npm run dev
curl http://localhost:8080/health
Docker| Variable | Value |
|---|---|
BASE_URL | https://your-app.onrender.com |
VALID_TOKENS | {"name":"tok_abc123"} |
USERS | {"email@supplier.io":"$2b$10$..."} |
ADMIN_TOKEN | strong random string |
SUPPLIERIO_API_KEY | your API key |
SUPPLIERIO_CUSTOMER_ID | your customer ID |
SUPPLIERIO_CUSTOMER_NAME | your customer name |
SUPPLIERIO_BASE_URL | https://nextgenapi.supplierio.com/supplier |
LOG_PATH | /tmp/usage.log |
GET https://your-app.onrender.com/admin/generate-hash?password=THEIR_PASSWORD
Authorization: Bearer YOUR_ADMIN_TOKEN
USERS env var in Render:{
"existing@supplier.io": "$2b$10$existingHash",
"newuser@supplier.io": "$2b$10$newHash"
}