README
🚀 GLEIF MCP 服务器
通过一个问题即可验证任何公司的合法身份。利用官方 GLEIF 数据库查询 LEI 代码、验证交易对手并追踪公司所有权结构。覆盖 200 多个司法管辖区的 280 多万个实体。
提供 29 种工具,用于 LEI 查询、实体搜索、BIC/SWIFT 交叉引用、公司所有权查询和批量验证。可与 Claude Desktop、Claude Code、Cursor、VS Code、Windsurf 等 MCP 兼容工具配合使用。
🚀 快速开始
GLEIF MCP 服务器能够帮助用户通过官方 GLEIF 数据库,快速验证公司的合法身份、查询 LEI 代码等。以下将为你介绍其安装和使用的相关内容。
✨ 主要特性
核心功能
- LEI 查询:通过 LEI 代码获取完整的实体详细信息。
- 批量查询:在单个请求中查询多个 LEI(最多 100 个)。
- 实体搜索:通过名称模糊匹配和分页查找公司。
- LEI 验证:验证格式、校验位(ISO 17442)和注册状态。
金融标识符查询
- BIC/SWIFT 查询:从 BIC 代码查找银行 LEI。
- ISIN 查询:从 ISIN 代码查找证券发行人 LEI。
- 国家浏览:按司法管辖区列出实体。
关系与合规性
- 公司所有权:查询母公司、子公司和最终母公司。
- 基金关系:查询基金经理、伞形基金和子基金。
- 报告异常:提供二级数据异常及原因。
- LEI 发行机构:列出所有本地运营单位(LOU)及其详细信息。
性能与可靠性
- 快速响应:结果本地缓存,重复查询即时返回。
- 无需 API 密钥:直接使用 GLEIF 的公共 API。
- 优雅处理错误:在超时或临时故障时自动重试。
- 遵守限制:内置速率限制,防止超出 GLEIF 的配额。
📦 安装指南
下载二进制文件
可在 发布页面 下载适用于所有平台的预构建二进制文件:
| 平台 | 二进制文件 |
|------|--------|
| macOS(Apple Silicon) | gleif-mcp-server-darwin-arm64 |
| macOS(Intel) | gleif-mcp-server-darwin-amd64 |
| Linux(x64) | gleif-mcp-server-linux-amd64 |
| Linux(ARM64) | gleif-mcp-server-linux-arm64 |
| Windows(x64) | gleif-mcp-server-windows-amd64.exe |
# macOS/Linux - 下载并设置可执行权限
chmod +x gleif-mcp-server-darwin-arm64
从源代码构建
需要 Go 1.25 及以上版本:
git clone https://github.com/olgasafonova/gleif-mcp-server.git
cd gleif-mcp-server
go build -o gleif-mcp-server .
通过 Go 安装
go install github.com/olgasafonova/gleif-mcp-server@latest
AI 代理设置
快速启动:如果使用 Claude Desktop,只需添加以下配置并重启即可。如果使用 Cursor 等 IDE,原理相同,但配置文件不同。请选择适合你的工具进行设置。
Claude Desktop
步骤 1:下载二进制文件
访问 发布页面,下载适合你系统的二进制文件:
- Mac(Apple Silicon M1/M2/M3/M4):
gleif-mcp-server-darwin-arm64 - Mac(Intel):
gleif-mcp-server-darwin-amd64 - Windows:
gleif-mcp-server-windows-amd64.exe
步骤 2:仅适用于 Mac - 允许文件运行
macOS 会阻止下载的文件。打开终端并运行以下命令:
chmod +x ~/Downloads/gleif-mcp-server-darwin-arm64
xattr -d com.apple.quarantine ~/Downloads/gleif-mcp-server-darwin-arm64
步骤 3:打开配置文件
Mac:打开 Finder,按下 Cmd + Shift + G,粘贴以下路径:
~/Library/Application Support/Claude/
Windows:按下 Win + R,粘贴以下路径:
%APPDATA%\Claude
打开 claude_desktop_config.json。如果文件不存在,请创建它。
步骤 4:添加配置
Mac(将 YOUR_USERNAME 替换为你的实际用户名):
{
"mcpServers": {
"gleif": {
"command": "/Users/YOUR_USERNAME/Downloads/gleif-mcp-server-darwin-arm64"
}
}
}
Windows(将 YOUR_USERNAME 替换为你的实际用户名 - 注意使用双反斜杠):
{
"mcpServers": {
"gleif": {
"command": "C:\\Users\\YOUR_USERNAME\\Downloads\\gleif-mcp-server-windows-amd64.exe"
}
}
}
要查找你的用户名:Mac - 打开终端并输入 whoami。Windows - 查看 C:\Users\。
步骤 5:重启 Claude Desktop
完全退出(Mac 上使用 Cmd + Q)并重新打开。
步骤 6:测试
在 Claude Desktop 中输入:
Look up Apple's LEI using GLEIF
你应该会看到 Claude 调用 GLEIF 工具并返回公司数据。
Claude Code(CLI)
# 添加服务器
claude mcp add gleif /path/to/gleif-mcp-server
# 或者为所有项目添加范围
claude mcp add --scope user gleif /path/to/gleif-mcp-server
Cursor IDE
将以下内容添加到项目的 .cursor/mcp.json 或全局配置文件 ~/.cursor/mcp.json 中:
{
"mcpServers": {
"gleif": {
"command": "/path/to/gleif-mcp-server"
}
}
}
带有 Continue 扩展的 VS Code
将以下内容添加到 .continue/config.json 中:
{
"experimental": {
"modelContextProtocolServers": [
{
"name": "gleif",
"transport": {
"type": "stdio",
"command": "/path/to/gleif-mcp-server"
}
}
]
}
}
Windsurf
将以下内容添加到 ~/.codeium/windsurf/mcp_config.json 中:
{
"mcpServers": {
"gleif": {
"command": "/path/to/gleif-mcp-server"
}
}
}
Cline(VS Code 扩展)
通过 Cline 的 MCP 设置添加或在 .vscode/cline_mcp_settings.json 中添加以下内容:
{
"mcpServers": {
"gleif": {
"command": "/path/to/gleif-mcp-server",
"args": []
}
}
}
Antigravity
将以下内容添加到 ~/.antigravity/mcp.json 中:
{
"mcpServers": {
"gleif": {
"command": "/path/to/gleif-mcp-server"
}
}
}
如果无法正常工作:告诉我们遇到的问题 — 即使只有一句话也有帮助。
💻 使用示例
基本 LEI 查询
提示:"Look up LEI HWUPKR0MPOU8FGXBT394"
返回:苹果公司的完整实体详细信息,包括法定名称、总部地址、司法管辖区(美国加利福尼亚州)、实体状态、注册状态、管理 LOU 和下次续期日期。
带分页的公司搜索
提示:"Search for Deutsche Bank, show page 2"
工具调用:
{
"name": "search_entity",
"arguments": {
"query": "Deutsche Bank",
"limit": 20,
"page": 2,
"fuzzy": true
}
}
返回:包含分页信息(总结果数、当前页面、是否有更多结果)的匹配实体列表。
批量 LEI 查询
提示:"Look up these LEIs: HWUPKR0MPOU8FGXBT394, 5493006MHB84DD0ZWV18, 549300GKFG0RYRRQ1414"
返回:三个实体的摘要信息,包括 LEI、法定名称、国家、城市和状态。
通过 BIC 查找银行
提示:"Find the LEI for BIC DEUTDEFF"
返回:德意志银行股份公司的 LEI 记录及完整详细信息。
查找证券发行人
提示:"Who issued ISIN US0378331005?"
返回:苹果公司(AAPL 股票的发行人)。
公司结构查询
提示:"Who is the ultimate parent of this subsidiary?"
工具调用:
{
"name": "get_relationships",
"arguments": {
"lei": "549300GKFG0RYRRQ1414",
"type": "ultimate-parent"
}
}
LEI 验证
提示:"Is LEI HWUPKR0MPOU8FGXBT394 valid?"
返回:
{
"lei": "HWUPKR0MPOU8FGXBT394",
"valid": true,
"status": "ISSUED",
"entityStatus": "ACTIVE",
"nextRenewal": "2025-08-15"
}
检查报告异常
提示:"Why is parent info missing for this company?"
工具调用:
{
"name": "get_reporting_exceptions",
"arguments": {
"lei": "5493006MHB84DD0ZWV18"
}
}
返回:异常类别和原因(例如,NON_CONSOLIDATING、NATURAL_PERSONS)。
列出所有 LEI 发行机构
提示:"Show me all LEI issuers"
返回:所有本地运营单位(LOU)的完整列表,包括名称、国家、状态和赞助的 LEI 数量。
📚 详细文档
工具参考
核心查询工具
| 工具 | 描述 | 参数 |
|------|-------------|------------|
| lei_lookup | 获取特定 LEI 的完整详细信息 | lei(必需):20 位字符的 LEI 代码 |
| validate_lei | 检查格式、校验位和状态 | lei(必需):要验证的 LEI |
| batch_lei_lookup | 一次查询多个 LEI | leis(必需):逗号分隔的 LEI(最多 100 个) |
搜索工具
| 工具 | 描述 | 参数 |
|------|-------------|------------|
| search_entity | 按公司名称搜索 | query(必需),limit(默认 20),page(默认 1),fuzzy(默认 true) |
| search_by_bic | 从 BIC/SWIFT 查找 LEI | bic(必需):8 或 11 位字符的代码 |
| search_by_isin | 从 ISIN 查找发行人 LEI | isin(必需):12 位字符的 ISIN |
| search_by_country | 按国家列出实体 | country(必需):ISO 2 位字母代码,limit(默认 20) |
| autocomplete | 实体名称建议 | prefix(必需):至少 2 个字符,limit(默认 10) |
关系工具
| 工具 | 描述 | 参数 |
|------|-------------|------------|
| get_relationships | 获取公司/基金关系 | lei(必需),type:direct-parent, ultimate-parent, children, fund-manager, umbrella-fund, sub-funds |
LEI 发行机构工具
| 工具 | 描述 | 参数 |
|------|-------------|------------|
| get_lei_issuer | 获取 LOU 的详细信息 | issuer_id(必需):LOU 标识符 |
| list_lei_issuers | 列出全球所有 LOU | 无 |
合规工具
| 工具 | 描述 | 参数 |
|------|-------------|------------|
| get_reporting_exceptions | 获取二级报告异常 | lei(必需):要检查的 LEI |
响应格式
所有工具返回包含相关字段的 JSON 数据。示例实体记录:
{
"lei": "HWUPKR0MPOU8FGXBT394",
"legalName": "Apple Inc.",
"country": "US",
"city": "Cupertino",
"status": "ACTIVE",
"regStatus": "ISSUED"
}
搜索结果包含分页信息:
{
"count": 20,
"results": [...],
"pagination": {
"currentPage": 1,
"perPage": 20,
"total": 156,
"lastPage": 8
},
"hasMore": true
}
错误处理
服务器返回结构化错误信息:
| 错误代码 | 描述 | 是否可重试 |
|------------|-------------|-----------|
| not_found | LEI/实体不在 GLEIF 数据库中 | 否 |
| invalid_format | 无效的 LEI/BIC/ISIN 格式 | 否 |
| rate_limited | GLEIF API 速率限制超出 | 是 |
| timeout | 请求超时 | 是 |
| server_error | GLEIF API 错误 | 取决于状态 |
| network_error | 连接失败 | 是 |
示例错误响应:
{
"code": "not_found",
"message": "LEI not found in GLEIF database",
"statusCode": 404,
"retryable": false
}
🔧 技术细节
架构
gleif-mcp-server/
├── main.go # 入口点,MCP 服务器设置
├── internal/gleif/
│ ├── client.go # 带有缓存和速率限制的 GLEIF API 客户端
│ ├── client_test.go # 客户端和验证测试
│ ├── cache.go # 带有 TTL 的 LRU 缓存
│ ├── types.go # API 响应的数据结构
│ └── errors.go # 结构化错误类型
└── tools/
├── definitions.go # 工具元数据和参数规范
├── handlers.go # MCP 工具实现
└── handlers_test.go # 带有模拟服务器的处理程序测试
具体技术设置
| 设置 | 值 | |---------|-------| | 缓存时长 | 15 分钟 | | 缓存容量 | 1000 个实体,500 次搜索 | | 速率限制 | 50 请求/分钟(GLEIF 允许 60) | | 重试策略 | 3 次尝试,指数退避 | | 连接池 | 最大空闲 100,每个主机 10 个 |
API 参考
此服务器封装了 GLEIF 公共 API:
- 基础 URL:https://api.gleif.org/api/v1
- 认证:无需认证
- 速率限制:60 请求/分钟
- 文档:https://www.gleif.org/en/lei-data/gleif-api
故障排除
服务器无法启动
- 检查二进制文件是否具有执行权限:
chmod +x gleif-mcp-server - 验证 MCP 配置中的路径是否为绝对路径,而非相对路径
“速率限制超出”错误
- 服务器会自动处理速率限制并进行重试
- 如果问题持续存在,请减少并发请求或等待几分钟
有效 LEI 显示“LEI 未找到”
- GLEIF 数据库每天更新;最近颁发的 LEI 可能不会立即显示
- 验证 LEI 格式(正好 20 个字母数字字符)
响应缓慢
- 首次请求可能会较慢(缓存预热)
- GLEIF API 偶尔会出现延迟高峰;重试会自动处理此问题
Claude Desktop 未显示服务器
- 编辑配置后重启 Claude Desktop
- 检查配置文件中的 JSON 语法
- 验证二进制文件路径是否存在且可执行
开发
# 运行测试
go test ./...
# 运行带覆盖率的测试
go test -coverprofile=coverage.out ./...
go tool cover -html=coverage.out
# 运行带竞态检测器的测试
go test -race ./...
# 构建
go build -o gleif-mcp-server .
贡献
欢迎贡献代码。请先打开一个问题讨论建议的更改。
📄 许可证
本项目采用 MIT 许可证 - 详情请参阅 LICENSE。
更多 MCP 服务器
查看我的其他 MCP 服务器:
| 服务器 | 描述 | 星标数 |
|--------|-------------|-------|
| mediawiki-mcp-server | 将 AI 连接到任何 MediaWiki 维基。搜索、读取和编辑维基内容。 | |
| miro-mcp-server | 使用 AI 控制 Miro 白板。处理板、图表、思维导图等。 |
|
| nordic-registry-mcp-server | 访问北欧商业注册中心。查询挪威、丹麦、芬兰、瑞典的公司信息。 |
|
| productplan-mcp-server | 与你的 ProductPlan 路线图进行交互。查询 OKR、想法和发布信息。 |
|
致谢
- GLEIF 提供公共 LEI API
- Model Context Protocol 提供 MCP 规范
微信扫一扫