返回 MCP 目录
public公开dns本地运行

gleif-mcp-server

GLEIF MCP服务器提供29个工具,用于查询全球2.8M+法律实体的LEI代码、验证交易对手、追踪公司所有权结构,支持BIC/SWIFT和ISIN交叉引用,适用于KYC、合规检查和尽职调查。

article

README

🚀 GLEIF MCP 服务器

通过一个问题即可验证任何公司的合法身份。利用官方 GLEIF 数据库查询 LEI 代码、验证交易对手并追踪公司所有权结构。覆盖 200 多个司法管辖区的 280 多万个实体。

CI Go Report Card License: MIT

提供 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
  • Windowsgleif-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 维基。搜索、读取和编辑维基内容。 | GitHub stars | | miro-mcp-server | 使用 AI 控制 Miro 白板。处理板、图表、思维导图等。 | GitHub stars | | nordic-registry-mcp-server | 访问北欧商业注册中心。查询挪威、丹麦、芬兰、瑞典的公司信息。 | GitHub stars | | productplan-mcp-server | 与你的 ProductPlan 路线图进行交互。查询 OKR、想法和发布信息。 | GitHub stars |


致谢

help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端