Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
作者提供的说明(英文原文)
Find parent companies, PE backers, corporate families, and portfolio siblings for any company.
这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。
我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。
选择你使用的 AI 应用,然后复制设置。
Authorization标为机密的值是你账户的钥匙。千万不要分享给别人,也不要粘贴到聊天里。
你需要
你用的是哪个应用?
在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。
这个地址需要在请求的 header 中放入密钥,而添加连接器的菜单无法设置。请改用 Claude Code、Cursor 或 VS Code。
在终端中运行这条命令
claude mcp add --transport http spotlight https://spotlight-mcp.magellandata.io/mcp --header 'Authorization: your-value'运行前请先填写空着的值。
粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json
{
"mcpServers": {
"spotlight": {
"url": "https://spotlight-mcp.magellandata.io/mcp",
"headers": {
"Authorization": "your-value"
}
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
粘贴到项目中的 .vscode/mcp.json
{
"servers": {
"spotlight": {
"type": "http",
"url": "https://spotlight-mcp.magellandata.io/mcp",
"headers": {
"Authorization": "your-value"
}
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
这个地址需要在请求的 header 中放入密钥,而添加连接器的菜单无法设置。请改用 Claude Code、Cursor 或 VS Code。
你的选择通过 Cookie 保存在这台设备上,无需账户。
Authorization 机密 必填 HTTP header这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。
我们还没有读取这个服务器的工具列表;我们会轮流检查各个端点。
我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月7日
发布者(magellandata.io)不是仓库所有者(sorrek);可能是其他人代为上架的
我们还没有从 GitHub 读取这个仓库
我们还没有从 GitHub 读取这个仓库
尚未检查;我们会轮流检查各个端点
尚未检查;我们会轮流检查各个端点
尚未检查;我们会在检查端点时读取工具列表
与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。
它在 1 项适用的基础检查中通过了 0 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。
你需要填写:Authorization
它在作者的云端运行。通过互联网连接,无需安装,但你发送的内容会经过作者的服务器。
GitHub 仓库最后更新于–,最新版本(1.0.0)于3个月前进入注册中心。
支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。它通过 URL 连接,所以接受远程 MCP 服务器的应用也可以使用,例如开启开发者模式的 ChatGPT。
同一分类中有:Spec Driven Development, Remote Desktop Commander, SuperCollider
同一分类中其他作者的服务器,按星标数排序。
如何看卡片:★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i
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.
Make sound with SuperCollider: synths, drums, chords, melodies and soundscapes over OSC.
按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。
Corporate ownership intelligence for AI agents. Connect Claude, Cursor, or any MCP-compatible client to Magellan Data's Spotlight platform and ask who owns whom — parent companies, PE backing, corporate families, and portfolio siblings — over lists of thousands of companies at a time.
Hosted server. No install. Connect with an API key, or via OAuth from hosted connectors like claude.ai.
https://spotlight-mcp.magellandata.io/mcp
That's an MCP endpoint, not a web page — paste it into your client's config, not your browser. Opening it directly returns an error, which is the correct behaviour for every hosted MCP server.
Once connected, these all work in plain language:
"Read
accounts.xlsxand tell me which of these companies are PE-backed, and by whom."
"We just closed Moosend. Find every other company owned by the same PE firm — those are
our warm expansion targets."
"Which of my 200 accounts are subsidiaries of a larger parent? Append the parent company
to the spreadsheet and save it."
"Map the full corporate family under Constant Contact's parent so I can see the sister
companies I'm not covering."
The agent handles the whole pipeline — submitting the batch, polling until the runs finish, checking the price, and joining results back to your original file by input_url.
1. Get an API key. Sign up at magellandata.io and generate a key from the Spotlight dashboard. Keys look like mgln_sk_live_…. Every key carries its own credit balance, and usage is billed to the key that made the call.
2. Connect your client.
Claude Code
claude mcp add --transport http magellan-data https://spotlight-mcp.magellandata.io/mcp \
--header "Authorization: Bearer mgln_sk_live_YOUR_KEY"
claude mcp list # expect: magellan-data ... ✓ Connected
</details>
Cursor
Add to ~/.cursor/mcp.json (or .cursor/mcp.json in a project):
{
"mcpServers": { "magellan-data": { "url": "https://spotlight-mcp.magellandata.io/mcp", "headers": { "Authorization": "Bearer mgln_sk_live_YOUR_KEY" } } } }
</details>
VS Code
Add to .vscode/mcp.json — this prompts for the key rather than storing it in the file:
{
"inputs": [ { "type": "promptString", "id": "magellanKey", "description": "Magellan Data API key (mgln_sk_live_...)", "password": true } ], "servers": { "magellan-data": { "type": "http", "url": "https://spotlight-mcp.magellandata.io/mcp", "headers": { "Authorization": "Bearer ${input:magellanKey}" } } } }
</details>
Any other MCP client
The server speaks Streamable HTTP and is stateless. Point any compliant client at https://spotlight-mcp.magellandata.io/mcp with an Authorization: Bearer header.
3. Verify. Ask your agent: *"Check my Magellan Data credit balance."* If it comes back with a number, you're connected. That call is free.
Two methods are supported; use whichever fits how you're connecting.
API keys (mgln_sk_live_…) — for local and CLI clients like Claude Code, Cursor, or anything you configure by hand. Generate a key in the Spotlight dashboard and pass it as a Bearer token in the Authorization header, as shown in the quick start above. Usage is billed to the key that made the call.
OAuth 2.1 — for hosted connectors such as claude.ai and ChatGPT. There's nothing OAuth-specific to set up on your side: when you add the connector (from the directory, or as a custom connector where the platform holds the client credentials), you'll be sent to Spotlight to sign in and approve access — the usual "connect, sign in, allow" flow — and the client handles tokens from there. Usage is billed to the Spotlight account you approved with.
Either way, every request is authenticated and attributed to one Spotlight account — the two methods differ only in how the credential reaches the server.
| Output type | Answers | Cost |
|---|---|---|
parent_companies | Is this company a subsidiary, and of whom? | 70 credits per URL where a parent is found — no match, no charge |
pe_ownership | Is it PE-backed, by which firm, and what deal type? | 70 credits per URL found to be PE-backed — no match, no charge |
corporate_families | Every subsidiary and sister company under a shared parent | 20 credits per record returned (min. 1 per URL) |
pe_portfolios | Every company held by the same PE firm | 20 credits per record returned (min. 1 per URL) |
For parent_companies and pe_ownership you pay only for hits: a URL where nothing is discovered costs nothing, so 70 credits × your URL count is the *ceiling*, not the bill. The other two are priced per output record. Either way the exact price is known once a run completes — the agent reads it off the run and tells you before downloading.
This is the part worth understanding, because it's what keeps an autonomous agent from quietly burning your balance:
download_run. Nothing before it costs anything.price field, and the server instructs connected clients to state that number and wait for you before downloading.If you'd rather not think about it: everything up to and including "how much will this cost" is free, and the agent will ask.
| Tool | Charges credits? | What it does |
|---|---|---|
check_credits | No | Your available balance. Doubles as a connection check. |
submit_batch | No | Create a batch from 1–5,000 company URLs. Returns a batch_id. |
process_batch | No | Start async runs — one per output type. Returns immediately. |
list_runs | No | Every run for a batch: status, price, purchase state. |
get_run_status | No | One run's status and price. Poll this until completed. |
download_run | Yes | Buys the results. Returns a short download link plus a preview. |
The flow is always submit → process → poll → download. Results come back as a short download link (https://api.magellandata.io/dl/…, valid for 1 hour) rather than inline, so a 2-million-row result set never touches your agent's context window. The link needs no auth header — hand it straight to curl, pandas.read_csv, or a browser. In hosted chat environments without general internet access (like the claude.ai connector), the assistant presents it as a clickable link for you to open rather than fetching it itself.
There's also a `magellan_playbook` prompt — a GTM strategy guide covering expansion- target ranking, deal_type interpretation, and MSA-timing triggers. In Claude Code it shows up as a slash command under the magellan-data server.
examples/quickstart.py runs the full pipeline against the REST API directly — useful for understanding what the agent is doing under the hood, or for wiring Magellan Data into a non-agentic pipeline.
export MAGELLAN_API_KEY=mgln_sk_live_YOUR_KEY
python examples/quickstart.py --urls moosend.com constantcontact.com --type pe_ownership
examples/accounts.csv and accounts.xlsx are a 12-row fixture you can point an agent at without supplying your own data. The companies span independents, acquired subsidiaries, and PE-backed businesses, so each output type returns something. Enriching all twelve costs at most 840 credits per match-based output type (only the companies where something is found are charged) — cheap enough to validate the pipeline for real.
It stops and asks before the download step, so you can run it end to end without spending credits until you mean to.
examples/PROMPTS.md has a walkthrough of agent prompts in increasing order of ambition, with the expected cost of each noted up front.
The skills/ directory holds task-focused playbooks that turn raw tool output into a finished deliverable — a ranked target list, a coverage map, an enriched spreadsheet — instead of JSON. Clients that support skills can load them from this repo; clients that don't can still be pointed at the markdown directly.
| Skill | Produces |
|---|---|
account-expansion | Ranked warm-intro targets from a closed-won account's ownership graph |
pe-portfolio-map | Coverage map of a PE firm's portfolio against your existing accounts |
ownership-enrichment | Your account list, enriched in place with parent and PE-backing columns |
.mcp.json MCP registration (Claude Code, Codex)
mcp.json MCP registration (Cursor) .vscode/mcp.json MCP registration (VS Code, prompts for key) .claude-plugin/ plugin.json Claude plugin metadata marketplace.json Claude marketplace metadata server.json Official MCP Registry metadata skills/*/SKILL.md Task playbooks examples/ quickstart.py Full pipeline against the REST API PROMPTS.md Agent prompt walkthrough accounts.csv 12-row test fixture accounts.xlsx Same fixture, spreadsheet form assets/ logo.png Wordmark, navy (for light backgrounds) logo-light.png Wordmark, white (for dark backgrounds) social-preview.png 1280x640 social card — upload under Settings > Social preview social-preview-light.png Light-background alternate
To use the manifests locally:
git clone https://github.com/sorrek/mcp.git
Then point your client at the repo root or the specific manifest path.
The endpoint URL shows an error in my browser. Expected. /mcp speaks JSON-RPC over POST; the transport spec reserves GET on that path for opening an event stream, so a server like this one that doesn't offer streams answers with
call check_credits — that's free and exercises the whole auth path.
My client connects but lists no tools. Almost always an auth problem rather than a transport one. Confirm the header is Authorization: Bearer mgln_sk_live_... with the Bearer prefix, and that the key is active in the Spotlight dashboard.
A download link says it has expired (HTTP 410). Download links last an hour. Call download_run again for a fresh one — re-downloads are free.
A run has been `processing` for a long time. Large batches take minutes, not seconds. Poll every 10–30 seconds rather than in a tight loop. If a run sits past 20 minutes, open an issue with the run_id.
只显示了开头部分;其余内容请在仓库中阅读