io.magellandata/spotlight

io.magellandata/spotlight

Hosted MCP server providing corporate ownership intelligence, enabling AI agents to look up parent companies, PE backing, corporate families, and portfolio siblings via natural language queries.

Category
访问服务器

README

<!-- mcp-name: io.magellandata/spotlight -->

<p align="center"> <picture> <source media="(prefers-color-scheme: dark)" srcset="assets/logo-light.png"> <img src="assets/logo.png" alt="Magellan Data" width="420"> </picture> </p>

Magellan Data MCP

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. Bring your own API key.

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.


Try asking

Once connected, these all work in plain language:

"Read accounts.xlsx and 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.


Quick start

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.

<details open> <summary><b>Claude Code</b></summary>

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>

<details> <summary><b>Cursor</b></summary>

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>

<details> <summary><b>VS Code</b></summary>

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>

<details> <summary><b>Any other MCP client</b></summary>

The server speaks Streamable HTTP and is stateless. Point any compliant client at https://spotlight-mcp.magellandata.io/mcp with an Authorization: Bearer <key> header. </details>

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.


What you can look up

Output type Answers Cost
parent_companies Is this company a subsidiary, and of whom? 70 credits per URL
pe_ownership Is it PE-backed, by which firm, and what deal type? 70 credits per URL
corporate_families Every subsidiary and sister company under a shared parent 20 credits per record returned
pe_portfolios Every company held by the same PE firm 20 credits per record returned

parent_companies and pe_ownership are flat-rate, so the agent can quote you an exact cost before spending anything. The other two are priced per output record — the price isn't known until the run completes, so the agent reads it off the run and tells you before downloading.


How credits work

This is the part worth understanding, because it's what keeps an autonomous agent from quietly burning your balance:

  • Submitting a batch is free. So is starting the processing runs, polling their status, and checking your balance.
  • Credits are charged at exactly one point: download_run. Nothing before it costs anything.
  • The agent surfaces the price first. Every run carries a price field, and the server instructs connected clients to state that number and wait for you before downloading.
  • Re-downloads are free, forever. Once a run is purchased it stays purchased. If a download link expires, just ask again — no second charge.

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.


Tools

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 presigned CSV URL plus a preview.

The flow is always submit → process → poll → download. Results come back as a presigned S3 link (1-hour TTL) 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.

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.


Working example

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 840 credits per flat-rate output type — 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.


Skills

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

Repository contents

.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.


Troubleshooting

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 405. There's nothing to see there. To check the server is actually up, ask your agent to 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 returns 403 with Request has expired. Presigned URLs 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.


Notes and limits

  • Batch size: up to 5,000 URLs per batch. Larger lists should be chunked; the agent will do this if you ask.
  • Timing: large runs take minutes, not seconds. Polling every 10–30 seconds is the right cadence and the server instructions say so.
  • Overlapping inputs: if two input companies share a parent or a PE firm, you're charged for both inputs. Every output row carries input_url, so deduplicating client-side is trivial.
  • Auth: API key per request, passed through to the Spotlight API so usage is attributed to the right user. OAuth is planned; see below.

Roadmap

  • OAuth 2.1 for one-click connection from claude.ai and ChatGPT, without hand-pasting keys
  • Listing in the official MCP Registry and downstream directories
  • last_verified timestamps on ownership records

Issues and feature requests are welcome — open one on this repo.


Support

License

MIT — this repository. The Spotlight API itself is a commercial service governed by the Magellan Data terms of service.

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选