Install
$ agentstack add mcp-vinkius-labs-discover-mcp ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ● Environment & secrets Used
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
@vinkius-core/discover-mcp
Stop configuring MCP servers one by one. Be smart — let your agent discover them.
Every MCP server you add to your agent is another config block, another API key, another package version, another thing that breaks at 2 AM. At 5 servers it's annoying. At 15 it's a full-time job. At 50 it's impossible.
Discover replaces all of them with one line:
{
"mcpServers": {
"vinkius": {
"command": "npx",
"args": ["-y", "@vinkius-core/discover-mcp"],
"env": { "VINKIUS_CATALOG_TOKEN": "vk_catalog_YOUR_TOKEN" }
}
}
}
Your agent now has access to 5k+ MCP servers on Vinkius. It finds what it needs, activates it, uses it, and moves on — without you lifting a finger.
The problem nobody talks about
MCP is incredible. But every real-world setup looks like this:
{
"mcpServers": {
"github": { "command": "npx", "args": ["@modelcontextprotocol/server-github"], "env": { "GITHUB_TOKEN": "..." } },
"stripe": { "command": "npx", "args": ["@stripe/mcp"], "env": { "STRIPE_KEY": "..." } },
"slack": { "command": "npx", "args": ["@anthropic/mcp-slack"], "env": { "SLACK_TOKEN": "..." } },
"fred": { "command": "npx", "args": ["@mcp/fred-server"], "env": { "FRED_API_KEY": "..." } },
"salesforce": { "command": "npx", "args": ["@mcp/salesforce"], "env": { "SF_TOKEN": "...", "SF_INSTANCE": "..." } },
"snowflake": { "command": "npx", "args": ["@mcp/snowflake"], "env": { "SF_ACCOUNT": "...", "SF_USER": "...", "SF_PASS": "..." } },
"jira": { "command": "npx", "args": ["@mcp/jira-server"], "env": { "JIRA_TOKEN": "...", "JIRA_URL": "..." } },
"datadog": { "command": "npx", "args": ["@mcp/datadog"], "env": { "DD_API_KEY": "...", "DD_APP_KEY": "..." } },
"notion": { "command": "npx", "args": ["@mcp/notion"], "env": { "NOTION_TOKEN": "..." } },
"hubspot": { "command": "npx", "args": ["@mcp/hubspot"], "env": { "HS_TOKEN": "..." } }
}
}
Ten servers. Ten npm packages. Fourteen environment variables. And this is just the beginning.
Here's what actually happens as you scale:
| Problem | Why it hurts | |---------|-------------| | 🧠 Context window flooding | Every server dumps its tools into your agent's prompt. 10 servers × 15 tools = 150 tool definitions competing for context. Accuracy drops. Costs spike. | | 🔑 Token sprawl | Each server needs its own API key. Rotate one? Hope you remember which .env, which CI secret, which config file it lives in. | | 💥 Version rot | @stripe/mcp just shipped v3. @mcp/notion needs Node 20. @mcp/jira-server is deprecated — the new one is @atlassian/mcp-jira. Good luck keeping 10+ packages in sync. | | 🧊 Frozen capabilities | Your agent can only use what you pre-configured. Need weather data for a one-off question? Stop everything, find the package, get the API key, add the config, restart the agent. | | 🔇 Silent failures | Server 7 of 10 crashes on startup. Your agent doesn't tell you — it just silently loses access to Notion. You find out three days later when a workflow breaks. |
The irony: MCP was designed to give agents superpowers, but managing the servers takes the power away from you.
What if your agent managed its own tools?
That's Discover.
Instead of pre-loading every server your agent might need, you give it access to a catalog of 3,400+ servers on Vinkius. When your agent hits a problem, it searches the catalog, finds the right tool, activates it on the fly, and keeps working.
You configure one server. Your agent discovers the rest.
{
"mcpServers": {
"vinkius": {
"command": "npx",
"args": ["-y", "@vinkius-core/discover-mcp"],
"env": { "VINKIUS_CATALOG_TOKEN": "vk_catalog_YOUR_TOKEN" }
}
}
}
> 10 servers → 1. Fourteen tokens → 1. Zero maintenance.
See it in action
You ask your agent: "How has U.S. inflation affected our revenue this year?"
Your agent has never seen economic data before. But it doesn't need you to install anything:
- Recognizes the gap — "I need macroeconomic data, but I don't have a tool for that"
- Searches the catalog — finds FRED, a database with 816,000+ economic time series on Vinkius
- Activates it — FRED tools appear instantly, on demand
- Pulls CPI data — last 24 months of U.S. Consumer Price Index
- Connects to Stripe — correlates inflation trends with your actual revenue
- Posts to Slack — sends the analysis to your #finance channel
You configured none of that. You didn't know FRED existed. You didn't write a Stripe integration. Your agent discovered what it needed and used it — across three completely different domains, in a single conversation.
Tomorrow it might need weather data, or satellite imagery, or OSHA compliance records. You'll never have to configure those either.
3,400+ servers on Vinkius
| Category | What your agent can access | |----------|---| | Industry Titans | Salesforce · SAP S/4HANA · Dynamics 365 · Oracle NetSuite · Okta · HubSpot CRM | | Money Moves | Stripe · PayPal · Plaid · Brex · Mercury · QuickBooks · Shopify · DocuSign | | Ship It | GitHub · GitLab · Jira · Cloudflare (25 tools!) · CircleCI · Bitbucket · Linear | | AI Frontier | OpenAI · Anthropic · NVIDIA · Databricks · Cohere · Azure AI · Amazon Bedrock | | The Unthinkable | FRED (816K+ economic series) · NOAA (36 tools) · Eurostat · U.S. Census · ECB · BLS · EIA | | Fort Knox | CrowdStrike Falcon · Snyk · CyberArk · Checkmarx · Auth0 · Black Duck | | Growth Engine | Google Ads · Meta Ads · Facebook Ads · Mailchimp · Amplitude · Ahrefs · ActiveCampaign | | Talk to Me | Slack · WhatsApp · Twilio · Zoom · Discord · Intercom · Zendesk | | Brain Trust | Snowflake · BigQuery · Notion · Confluence · Databricks · Elasticsearch | | Superpower | Midjourney · Wolfram Alpha · ArcGIS · E2B · Home Assistant · Alexa | | Friends of MCP | Firecrawl · LangSmith · LangGraph · LlamaIndex · Mem0 · Zapier · Make |
Every server is production-grade and governed: DLP, FinOps, and SSRF protection on every call.
> Browse the full catalog at vinkius.com
How it works
Instead of flooding your agent's context with thousands of tool definitions (which kills accuracy and burns tokens), Discover uses just-in-time activation: your agent loads only what it needs, when it needs it.
- Agent recognizes a gap — "I need economic data but I don't have a tool for that"
- Agent searches the catalog — finds the right server among 3,400+ on vinkius.com
- Agent activates it — tools appear instantly, zero config
- Agent uses the tools — as if they were always there
- Agent moves on — next task, next domain, same conversation
This works across any combination of domains in a single session. Economics → payments → communications → analytics — your agent handles it seamlessly.
No restarts. No config changes. No context wasted on tools you're not using.
Quick start
- Create a free account at cloud.vinkius.com
- Go to Settings → Catalog Tokens → Create a token
- Add to your config:
Claude Desktop / Cursor / Windsurf
{
"mcpServers": {
"vinkius": {
"command": "npx",
"args": ["-y", "@vinkius-core/discover-mcp"],
"env": {
"VINKIUS_CATALOG_TOKEN": "vk_catalog_YOUR_TOKEN_HERE"
}
}
}
}
That's it. Your agent now has access to everything on Vinkius.
Built-in tools
| Tool | What it does | |------|---| | catalog_request_capability | Describe what you need — the engine finds and ranks the best servers automatically | | catalog_search | Search by intent — "process refunds", "monitor Kubernetes", "analyze sentiment" | | catalog_browse | Explore all available categories | | catalog_activate | Activate a server (free = instant, paid = checkout link) | | catalog_deactivate | Deactivate a server and remove its tools | | catalog_tools | List all tools currently available | | catalog_analytics | Usage stats for your active servers | | catalog_execute | Run any tool from any active server | | catalog_inspect | View full parameters and schema for any tool before calling it |
Built with Vurb.ts
Discover is powered by Vurb.ts — the MVA (Model-View-Agent) framework for the Model Context Protocol. Every tool in this project uses the full Vurb architecture:
// This is actual code from this project — not a demo.
const search = catalog.query('search')
.describe('Search the Vinkius MCP marketplace to find servers by keyword.')
.instructions(
'Use this when the user asks about specific tools or integrations. ' +
'For structured capability requests, prefer catalog.request_capability.',
)
.withString('query', 'What you need (e.g., "track cloud spending")')
.withOptionalNumber('limit', 'Max results to return (default: 10)')
.cached()
.tags('discovery')
.bindState(['idle', 'exploring', 'activated'], 'SEARCH')
.egress(16_000)
.returns(SearchPresenter)
.handle(async (input, ctx) => {
const result = await ctx.client.search(input.query, input.limit ?? 10);
return result.servers;
});
Vurb primitives in use:
| Primitive | What it does here | |-----------|---| | f.router() | Groups all 9 tools under catalog.* — zero prefix repetition | | .returns(Presenter) | MVA View layer — formats responses with tables, suggestions, and system rules | | .instructions() | AI-first prompt engineering baked into every tool definition | | .cached() / .stale() | Epistemic cache hints — tells the LLM when data might be outdated | | .bindState() | FSM temporal gating — prevents the agent from calling execute before activate | | .invalidates() | Cache invalidation — activate automatically invalidates tools and analytics | | .concurrency() | Intent Mutex — prevents the LLM from double-firing execute calls | | .egress() | Payload size guards — protects the agent's context budget | | f.fsm() | Finite state machine tracking the discovery lifecycle | | f.error() | Structured self-healing errors with recovery suggestions | | f.prompt() | Prompt Engine — exposes /discover as a slash-command in MCP clients | | definePresenter() | Response formatting with HATEOAS suggestions and agent limits | | defineModel() | Domain schemas with Zod validation |
> Build your own MCP server with Vurb - Open Source Framework - at vurb.vinkius.com
Security
Every call flows through the Vinkius AI Gateway:
- 🔐 One token, per-server credentials resolved transparently
- 🛡️ PII redaction on every response
- 💰 Token budget protection
- 🔒 DNS-pinned upstream fetches — your agent never connects to APIs directly
Environment variables
| Variable | Required | Default | |----------|----------|---------| | VINKIUS_CATALOG_TOKEN | ✅ | — |
Development
npm install
VINKIUS_CATALOG_TOKEN=vk_catalog_...
npm run dev
npm test # 202+ tests
npm run build
License
Apache 2.0 — see [LICENSE](./LICENSE)
Stop configuring servers one by one. Let your agent figure it out. Built by Vinkius
Source & license
This open-source MCP server is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: vinkius-labs
- Source: vinkius-labs/discover-mcp
- License: Apache-2.0
- Homepage: https://vinkius.com
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.