关于 Sponsor Finder
Sponsor Finder 是只读 MCP 服务,可查询英国和荷兰公司的工作签证担保许可。它根据公开名册提供明确的匹配结论,并将上游 API 凭据保留在服务端。
主要功能
- 01按公司名称查询许可状态
- 02使用筛选条件搜索担保名册
- 03获取机构详情和历史记录
- 04查看名册统计与术语
- 05只读访问,客户端无需凭据
适用场景
- 01核实公司能否担保英国工作签证
- 02按城市或签证类别查找英国担保方
- 03按担保类型查询荷兰机构
- 04查看名册更新时间和术语说明
MCP 相关
通过 stdio 或 Streamable HTTP 向 MCP 客户端提供四种只读工具。客户端无需凭据连接;上游 API 密钥保留在服务端。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://mcp.sponsorfinder.io/mcpclaude mcp add --transport http io-sponsorfinder https://mcp.sponsorfinder.io/mcp{"mcpServers":{"io-sponsorfinder":{"type":"http","url":"https://mcp.sponsorfinder.io/mcp"}}}在 Cursor 中打开{"servers":{"io-sponsorfinder":{"type":"http","url":"https://mcp.sponsorfinder.io/mcp"}}}在 VS Code 中打开{"mcpServers":{"io-sponsorfinder":{"type":"http","url":"https://mcp.sponsorfinder.io/mcp"}}}{"mcpServers":{"io-sponsorfinder":{"serverUrl":"https://mcp.sponsorfinder.io/mcp"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
工具
5| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| country | enum | 否 | 要检查的登记册:uk、nl 或 bothuk | nl | both |
| company_name | string | 是 | 公司的注册法人名称,而非品牌名、产品名、商号或 URL。如果用户提供的是品牌名或网站,请先确认正式注册法人名称,再在此处传入。 |
详细介绍
SponsorFinder MCP 服务
一个无需身份验证、只读的远程 MCP 服务,可让 AI 助手(Claude、ChatGPT、Cursor 等)查询公司是否持有英国或荷兰工作签证担保许可证。该服务代理公开的 SponsorFinder API,将响应整理为清晰的判定结果,并将上游 API 密钥保存在服务端,让客户端无需凭据即可连接。
功能
SponsorFinder 跟踪两个政府官方的持证工作签证担保方名录:
- 英国 — 内政部持证担保方名录,根据内政部发布的 CSV 文件重建(每日检查)。包含签证类别(例如 Skilled Worker)、评级(A/B)和地点。
- 荷兰 — IND 认可担保方公开名录,每日检查。列出获认可的担保方及其担保方类型(WORK / EXCHANGE / STUDY / RESEARCH);数据远少于英国名录,不包含签证类别、评级或地点。
此 MCP 服务通过四个工具公开这些数据。它是只读的,且客户端无需身份验证:上游 x-api-key 是服务端密钥,MCP 客户端不会看到它。此服务没有 OAuth、没有按用户区分的状态,也没有写入工具。
工具
| 工具 | 标题 | 功能 | 主要输入 |
|---|---|---|---|
check_sponsor_license | 检查担保许可 | 主要工具。按名称查找公司(可容忍拼写错误),并返回判定结果——licensed、formerly_licensed、ambiguous 或 not_found——以及签证类别、评级、地点和登记日期。对于匹配度较低的情况,会拒绝猜测。 | company_name(2–100 个字符,可有拼写错误),country(uk | nl | both,默认 both) |
search_sponsors | 搜索担保机构登记册 | 支持可选筛选条件的探索性列表搜索。返回精简列表和总数。若要查询某一家特定公司,建议使用 check_sponsor_license。 | query?、country(uk | nl,默认 uk)、city?(英国)、route?(英国)、sponsor_type?(荷兰:WORK | EXCHANGE | STUDY | RESEARCH)、limit(1–20,默认 10) |
get_sponsor_details | 获取担保机构详情 | 按 ID 获取某个组织的完整记录:签证类别/评级/地点/日期(英国),或担保机构类型和 KvK 编号(荷兰)。可选择包含登记册变更历史。 | org_id(整数)、country(uk | nl,默认 uk)、include_history(布尔值,默认 false) |
get_register_info | 关于担保机构登记册 | 登记册统计数据、数据新鲜度、术语表和法律免责声明。可用于解释许可、签证类别、评级或担保机构类型的含义。 | 无 |
每个工具均标注为 readOnlyHint: true,并同时返回人类可读的文本块和 structuredContent,两者都附有数据新鲜度日期和来源说明。
示例提示词
连接服务器后,你可以向助手提出以下自然语言问题:
- “Google 持有英国担保许可吗?”
- “ASML 是荷兰认可的担保机构吗?”
- “搜索曼彻斯特的英国 Skilled Worker 担保机构。”
- “列出名称中包含 ‘shell’ 的荷兰 WORK 类型担保机构。”
- “B 评级是什么意思?”
关于名称匹配的说明。 模糊匹配可以容忍拼写错误(例如 googel uk),但要有把握地查找结果,需要提供_相对完整_的名称——“Google UK”或“Google UK Limited”可以准确匹配,而只提供一个单独的词可能会匹配多家公司。对于匹配度较低或结果不唯一的情况,服务器会拒绝猜测:它不会默默选出某个结果,而是返回 ambiguous 判定和候选列表,并请你进一步明确名称(或使用正确的 ID 调用 get_sponsor_details)。公司未出现在登记册中本身就是有意义的答案:这意味着该公司目前无法为该类签证提供担保。
使用(托管版)
服务托管于:
https://mcp.sponsorfinder.io/mcp
Claude Code
claude mcp add --transport http sponsorfinder https://mcp.sponsorfinder.io/mcp
claude.ai — Settings → Connectors → Add custom connector → 粘贴上方 URL。无需身份验证。
ChatGPT — Settings → Connectors(或自定义 GPT 的 Actions)→ Add 自定义/远程 MCP 连接器,然后粘贴上方 URL。
任何支持 Streamable HTTP 的 MCP 客户端都可以用相同方式连接——将其指向 https://mcp.sponsorfinder.io/mcp。
本地运行
前置条件: Node.js 24 和 pnpm 11。
pnpm install
cp .env.example .env
# then edit .env and fill in:
# SPONSORFINDER_API_BASE e.g. https://api.sponsorfinder.io
# SPONSORFINDER_API_KEY your upstream x-api-key (server-side secret)
以监视模式运行以下两种传输方式之一:
pnpm dev:stdio # stdio transport (Claude Desktop / Claude Code / MCP Inspector)
pnpm dev:http # Streamable HTTP on http://localhost:3001/mcp
将本地 stdio 构建版本添加到 Claude Code:
pnpm build
claude mcp add sponsorfinder -- node dist/entry/stdio.js
使用 MCP Inspector 交互式检查工具,可针对任一传输方式运行:
npx @modelcontextprotocol/inspector
配置
所有配置均通过环境变量完成(参见 .env.example):
| 名称 | 必填 | 默认值 | 说明 |
|---|---|---|---|
SPONSORFINDER_API_BASE | 是 | — | 上游 SponsorFinder API 的基础 URL,末尾不要带斜杠(例如 https://api.sponsorfinder.io)。 |
SPONSORFINDER_API_KEY | 是 | — | 上游 x-api-key 请求头的值。服务端密钥——绝不会暴露给 MCP 客户端、工具输出、错误信息或日志。 |
PORT | 否 | 3001 | Node 入口(src/entry/node.ts)使用的 HTTP 端口。stdio 和 Cloudflare Workers 会忽略此项。 |
UPSTREAM_TIMEOUT_MS | 否 | 10000 | 上游请求超时时间,单位为毫秒(通过 AbortSignal.timeout() 中止)。 |
SPONSORFINDER_API_KEY 是唯一真正的密钥。MCP 客户端无需身份验证即可连接;密钥仅保存在服务端(Docker 环境变量或 Cloudflare Workers 密钥)中,绝不会向客户端公开。
自托管 / 部署
符合 Web 标准的核心代码可在 Node 和 Cloudflare Workers 上运行;两者的区别仅在于入口文件。
Docker(主要方式) — 镜像 ghcr.io/alirezahamid/sponsor-finder-mcp,配置位于 Dockerfile 和 docker-compose.yml 中:
docker compose up -d
在 mcp.sponsorfinder.io 前部署反向代理(Caddy/nginx),并将 POST、GET 和 DELETE 请求转发到 /mcp。Streamable HTTP 要求关闭响应缓冲(nginx 中设置 proxy_buffering off;;Caddy 的默认设置即可)。
Cloudflare Workers — 配置位于 wrangler.jsonc:
wrangler secret put SPONSORFINDER_API_KEY
pnpm deploy:worker
开发
| 脚本 | 功能 |
|---|---|
pnpm typecheck | 使用 tsc --noEmit 进行类型检查。 |
pnpm lint | 使用 ESLint 进行代码检查。 |
pnpm test | 运行单元测试(不包括冒烟测试)。 |
pnpm test:smoke | 针对真实暂存 API 运行集成冒烟测试(需要密钥)。 |
pnpm build | 使用 tsup 打包到 dist/。 |
pnpm check | 一次性运行 typecheck + lint + test。 |
分析(可选)
服务器可以通过服务端 Measurement Protocol 向 Google Analytics 4 报告使用情况。由于 MCP 服务没有浏览器,无法在其中运行 GA/GTM JavaScript 标签,因此服务器会改用 HTTP 发送事件。它适用于 Node 和 Cloudflare Workers。
只有同时设置了 GA_MEASUREMENT_ID 和 GA_API_SECRET,分析功能才会启用。
每次工具调用都会发出一个 mcp_tool_call 事件,其中包含类别参数——
tool、status、verdict、country、mcp_client、latency_bucket、error_kind。
默认情况下,不会向 GA 发送公司名称或自由文本查询;只有在通过 CAPTURE_QUERY_NAMES 选择启用后,搜索的名称才会作为 query 参数发送——详见下文。
设置步骤:
- 创建一个 GA4 媒体资源(免费)和一个 Web 数据流。
- 在 Admin → Data streams → your stream → Measurement Protocol API secrets 中创建一个
密钥。复制数据流的 Measurement ID(
G-XXXXXXXXXX)和密钥值。 - 设置
GA_MEASUREMENT_ID和GA_API_SECRET(环境变量 / Docker /wrangler secret)。 - 在 GA4 中,将上述事件参数注册为自定义维度
(Admin → Custom definitions),以便在报告中查看。测试时,使用
GA_DEBUG=true将数据发送到 GA 的验证端点。
未满足需求分析:设置 CAPTURE_QUERY_NAMES=true 后,搜索的公司
名称会记录到服务器的结构化日志中,并且会作为 query 事件参数发送到 GA4
(注册 query 自定义维度即可查看)。此功能默认关闭。注意事项:原始名称在 GA 中会产生过多不同取值(归入 (other)),而以个人姓名进行的查询可能会根据 GA 条款被视为 PII——通常更适合将这些数据存放在私有日志存储中,并且在启用前应在隐私政策中添加相关说明。
工作原理
该服务器是一个精简的无状态代理,并会对响应进行整理。MCP 客户端通过 stdio 或无状态 Streamable HTTP 连接;一个小型 Hono 应用(搭配 @hono/mcp)会为每个请求创建一个 MCP 服务,使用服务端密钥调用 SponsorFinder API,通过 zod 校验每个响应(以防契约发生偏移),并将其整理为精简的判断结果。注册统计数据和筛选值会在进程内短暂缓存。由于核心只使用 Web 标准 API(fetch、URL),同一份代码既可在 Node 上运行,也可在 Cloudflare Workers 上运行——只有 src/entry/* 不同。
MCP client (Claude / ChatGPT / Cursor)
│ stdio or stateless Streamable HTTP
▼
SponsorFinder MCP server (Hono + @hono/mcp)
• 4 read-only tools, zod-validated
• x-api-key added server-side
• cached /status + /filters
│ HTTPS (x-api-key)
▼
SponsorFinder API → UK Home Office register + Dutch IND register
数据与免责声明
数据来自英国政府官方的持牌担保机构登记册和荷兰 IND 认可担保机构公开登记册,并每日更新。
该工具仅供参考,不构成法律建议。登记册数据可能晚于官方公布的信息,且持有牌照并不保证公司会为任何特定职位提供担保。做出决定前,请务必核实官方来源。
贡献
欢迎在 github.com/alirezahamid/sponsor-finder-mcp 提交问题和拉取请求。提交 PR 前,请运行 pnpm check。
发布说明:
server.json是官方 MCP 注册表的清单。运行mcp-publisher publish前,请根据当前的 registry.modelcontextprotocol.io 文档确认准确的$schemaURL——此处固定的架构版本可能已经更新。
许可证
MIT © 2026 Alireza Hamid
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。