Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Description from the maker (original English)
B2B company and person enrichment for agents. Multiple data providers, pay only for results.
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
You need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
Works in Claude on the web, desktop and mobile:
https://mcp.kingminos.com/mcpRun this in your terminal
claude mcp add --transport http kingminos https://mcp.kingminos.com/mcpPaste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"kingminos": {
"url": "https://mcp.kingminos.com/mcp"
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Paste into .vscode/mcp.json in your project
{
"servers": {
"kingminos": {
"type": "http",
"url": "https://mcp.kingminos.com/mcp"
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
ChatGPT connects only to servers on the internet:
https://mcp.kingminos.com/mcpMenu names can differ slightly by plan and over time.
Your choice stays on this device in a cookie; no account needed.
These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
We have not read this server’s tool list yet; we check endpoints in rotation.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 7, 2026
The registry name was verified against the domain kingminos.com (the registry checks domain ownership)
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
Not checked yet; we check endpoints in rotation
Not checked yet; we check endpoints in rotation
Not checked yet; we read the tool list when we check the endpoint
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
The registry does not list a required key, though some servers ask you to sign in on first use.
It runs in the maker’s cloud. Connect over the internet with nothing to install, but what you send passes through the maker’s servers.
The GitHub repo last changed –, and the latest version (2026.10.23) reached the registry 15 days ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. It connects by URL, so apps that accept remote MCP servers work too, such as ChatGPT in developer mode.
In the same category: Spec Driven Development, Remote Desktop Commander, Zendesk
Servers in the same category from other makers, sorted by stars.
Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Zendesk MCP Pack — tickets, users, organizations via OAuth.
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
Streamable HTTP MCP server that wraps the live KingMinos enrichment API at https://api.kingminos.com. One tool per bearer-authenticated resource route. Session and cookie routes under /v1/auth/* and /v1/account/*, and operator routes under /v1/admin/*, are not OpenAPI resource tools. This is not the OutboundSync product MCP and does not expose OutboundSync account, source, or sync tools.
Default paths run on house keys. ZoomInfo, BuiltWith, Prospeo, Apollo, Company URL Finder, People Data Labs, HG Insights, Brandfetch, Enrich-CRM, Lemlist, and Snov.io are BYOK via put_credentials. Websearch is house-only and cannot be stored. Snov.io is OAuth (clientId/clientSecret) and is a credential vendor only. Cognism, Lusha, Starbridge, Clay, Databar, QuickEnrich, GetLeads, and BlitzAPI are API-key credential vendors only — no routing hop yet. The server never embeds vendor keys and never logs the tenant Bearer or credential bodies.
Say SFDC, never SF.
abuse_report, partner_report, partner_payout, feedback_report and partner_admin wrap /v1/admin/abuse/daily, /v1/admin/partners/analytics, /v1/admin/partners/payouts, /v1/admin/feedback and /v1/admin/partners (list, create partner + code, add/deactivate code). They are registered only when the MCP bearer is a KingMinos admin token (kmadm_…, hashed in the API). Any other bearer never sees them in tools/list; an admin bearer sees only these admin tools. The API re-checks the token on every call. They are not OpenAPI resource tools: the live spec also lists a few /v1/admin/* operations (privacy suppressions, signups), and check:surfaces skips every /v1/admin/* path through nonToolPathPrefixes plus the reviewed excludedOperationIds catalog, so they never show up as drift.
Production is Cloudflare Worker `kingminos-mcp-prod` on the existing OutboundSync Cloudflare account. Janus deploys it with Wrangler:
npx wrangler deploy
Production MCP URL: `https://mcp.kingminos.com/mcp`. The custom domain mcp.kingminos.com is attached in Cloudflare and tracked in wrangler.jsonc (routes with custom_domain: true) so Janus deploys keep the hostname. workers_dev is false, so the Worker is not published on *.workers.dev (custom domain only).
This Worker must not bind D1 outboundsync-router, R2 outboundsync-router-raw, or Worker outboundsync-router. API base stays https://api.kingminos.com.
Fly is not the production host. fly.example.toml / Dockerfile are a local Node fallback sample only — not a production config.
| Path | Purpose |
|---|---|
GET /health | Liveness |
GET / | Service card |
GET /.well-known/mcp/server-card.json | MCP server card (advertises https://mcp.kingminos.com/mcp, plus privacy_url / terms_url) |
POST /mcp | Streamable HTTP MCP |
OPTIONS /mcp | Advertises Allow: POST, OPTIONS |
GET / DELETE /mcp | 405 Method Not Allowed |
Requires Node 22.
npm install
npm run build npm start
The process listens on HOST (default 127.0.0.1) and PORT (default 8080) and serves the same paths as the Worker.
Dev (tsx, no build):
npm run dev
Contract check against the vendored inventory (inventory/openapi-surfaces.json). Deterministic; no live network. Default PR CI uses this pin — it does not fetch production OpenAPI.
npm run check:surfaces
npm run check:providers
check:surfaces compares advertised MCP tools to operations[]. check:providers compares the Zod ProviderName / CredentialProvider enums to the pinned providers[] / credentialProviders[]. A new BYOK id such as prospeo, companyurlfinder, peopledatalabs, hginsights, brandfetch, enrichcrm, or lemlist fails CI until both Zod enums and the pin list it — that is how routing.only: ["prospeo"] and put_credentials({ provider: "prospeo" }) stay accepted.
/v1/auth/* and /v1/account/* are intentionally not MCP tools (cookie/session app surfaces), and /v1/admin/* is the operator API (the admin-token tools above are hand-written, not generated from OpenAPI). All three prefixes are denied by nonToolPathPrefixes plus the reviewed excludedOperationIds catalog. Do not implement the ~24 auth/account operations as tools.
Live OpenAPI drift check (scheduled CI / workflow_dispatch, or local). Surfaces compare only bearer resource operations after the deny-list — account/auth on the live spec is not a failure. Provider live check is one-way: it fails only when production lists a provider Zod does not have. Production lagging the pin (missing prospeo) does not fail. Override the spec URL with KINGMINOS_OPENAPI_JSON_URL (default https://api.kingminos.com/openapi.json):
npm run check:surfaces:live
npm run check:providers:live
Refresh the pin from live OpenAPI (network). Unions provider enums and newly seen auth/account operationIds; never drops pinned providers. Credential-only vendors (snovio, cognism, lusha, starbridge, clay, databar, quickenrich, getleads, blitzapi — no routing hop) are skipped from providers[]; the hand-written capabilityProviders pin is preserved. Review the diff before committing:
npm run inventory:refresh
Application CI can point at its own inventory with KINGMINOS_OPENAPI_INVENTORY=/path/to/openapi-surfaces.json. This repo does not vendor KingMinos application source.
Smoke (starts an ephemeral listener and lists tools; uses the file inventory, not the live spec):
npm test
npm run smoke
Worker bundle check (no Cloudflare auth required):
npm run check:worker
Full local suite:
npm run ci
That is exactly what the required OpenAPI tool contract check runs on PRs and main (branches must be up to date; protection applies to admins, so no direct pushes to main). npm install also installs git hooks (simple-git-hooks): pre-commit runs biome check --write on staged files, pre-push runs typecheck + tests. The nightly live drift job opens a Live OpenAPI drift issue instead of blocking PRs. CI map for all kingminos-* repos: kingminos-application/docs/ci.md.
After CI succeeds on a push to main, the CalVer Release workflow tags that commit (YYYY.MM.DD.N, UTC) and opens a GitHub release with generated notes. It does not push commits to main (Workers Builds deploys kingminos-mcp-prod on every main push).
The runtime version (/health, service card, MCP serverInfo) comes from export const VERSION in src/config.ts (kept in sync with package.json; see src/fetch.test.ts). Bump both in a normal PR when you want production to advertise a newer version than the last tag. Optional local helper: npm run release:apply stamps those files to the next CalVer tag without creating a release.
Preview the next tag and notes: npm run release:preview.
The KingMinos tenant Bearer is sent by the client as `Authorization: Bearer `. The server never mints, embeds, or logs that value.
Worker mode never reads KINGMINOS_API_KEY from process.env or from Worker bindings. A missing Authorization header is always 401 on the Worker.
A local Node process may fall back to KINGMINOS_API_KEY only when all of these are true:
127.0.0.1, localhost, or ::1)KINGMINOS_MCP_ALLOW_ENV_BEARER=1Production Workers do not store this secret. The value is never printed here.
POST /mcp rejects a present Origin that is not allowlisted. Clients that send no Origin keep working (typical MCP clients hitting https://mcp.kingminos.com/mcp). Local default hosts are localhost, 127.0.0.1, and [::1]; production also admits mcp.kingminos.com.
Optional:
KINGMINOS_API_URL — API base (default https://api.kingminos.com). Path prefixes on this URL are preserved.HOST — local Node listen address (default 127.0.0.1)PORT — local Node listen port (default 8080)KINGMINOS_MCP_ALLOWED_HOSTS — comma-separated Host allowlist for /mcp (Node default = loopback; Worker empty = allow all)KINGMINOS_MCP_ALLOWED_ORIGINS — extra Origin hostnames for /mcpKINGMINOS_MCP_PUBLIC_URL — advertised MCP URL on the server card (Worker default https://mcp.kingminos.com/mcp). The card never uses the client Host header.KINGMINOS_MCP_ALLOW_ENV_BEARER — set to 1 to opt in to the local loopback env-bearer fallbackKINGMINOS_OPENAPI_INVENTORY — path to the file inventory used by check:surfaces, check:providers, and PR CIKINGMINOS_OPENAPI_JSON_URL — override URL for check:surfaces:live / check:providers:live / inventory:refreshCopy .env.example for local names only. Do not commit a filled .env. Do not put secrets in Wrangler vars or files.
Add to ~/.cursor/mcp.json (or project .cursor/mcp.json).
Local:
{
"mcpServers": { "kingminos": { "url": "http://127.0.0.1:8080/mcp", "headers": { "Authorization": "Bearer ${env:KINGMINOS_API_KEY}" } } } }
Hosted (production):
{
"mcpServers": { "kingminos": { "url": "https://mcp.kingminos.com/mcp", "headers": { "Authorization": "Bearer ${env:KINGMINOS_API_KEY}" } } } }
Cursor GUI sessions do not inherit shell .env files. Export KINGMINOS_API_KEY into the GUI environment so ${env:KINGMINOS_API_KEY} resolves.
Every tool is the snake_case operationId of one bearer-authenticated KingMinos resource route. /health, OpenAPI docs, and session/cookie /v1/auth/* + /v1/account/* routes are not tools.
| Tool | Route | Notes |
|---|
Only the beginning is shown; read the rest in the repo