Verify any company's legal identity in one question. Look up LEI codes, validate counterparties, and trace corporate ownership structures using the official GLEIF database. Covers 2.8M+ entities across 200+ jurisdictions. 29 tools for LEI lookup, entity search, BIC/SWIFT cross-referencing, corporate ownership, and batch validation. Works with Claude Desktop, Claude Code, Cursor, VS Code, Windsurf,
Add this skill
npx mdskills install olgasafonova/gleif-mcp-serverComprehensive MCP server with 29 well-documented tools for LEI/entity verification and corporate structure analysis
Verify any company's legal identity in one question. Look up LEI codes, validate counterparties, and trace corporate ownership structures using the official GLEIF database. Covers 2.8M+ entities across 200+ jurisdictions.
29 tools for LEI lookup, entity search, BIC/SWIFT cross-referencing, corporate ownership, and batch validation. Works with Claude Desktop, Claude Code, Cursor, VS Code, Windsurf, and other MCP-compatible tools.
The Legal Entity Identifier (LEI) is a 20-character alphanumeric code that uniquely identifies legal entities participating in financial transactions worldwide. It's mandated by 200+ regulations including MiFID II, EMIR, Dodd-Frank, and DORA.
LEI Format (ISO 17442):
Example: HWUPKR0MPOU8FGXBT394 (Apple Inc.)
Pre-built binaries for all platforms on the releases page:
| Platform | Binary |
|---|---|
| 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 - download and make executable
chmod +x gleif-mcp-server-darwin-arm64
Requires Go 1.25+:
git clone https://github.com/olgasafonova/gleif-mcp-server.git
cd gleif-mcp-server
go build -o gleif-mcp-server .
go install github.com/olgasafonova/gleif-mcp-server@latest
Quickest start: Using Claude Desktop? Just add the config below and restart. Using an IDE like Cursor? Same idea, different config file. Pick your tool below.
Go to the releases page and download the binary for your system:
gleif-mcp-server-darwin-arm64gleif-mcp-server-darwin-amd64gleif-mcp-server-windows-amd64.exemacOS blocks downloaded files. Open Terminal and run:
chmod +x ~/Downloads/gleif-mcp-server-darwin-arm64
xattr -d com.apple.quarantine ~/Downloads/gleif-mcp-server-darwin-arm64
Mac: Open Finder, press Cmd + Shift + G, paste this path:
~/Library/Application Support/Claude/
Windows: Press Win + R, paste this path:
%APPDATA%\Claude
Open claude_desktop_config.json. If it doesn't exist, create it.
Mac (replace YOUR_USERNAME with your actual username):
{
"mcpServers": {
"gleif": {
"command": "/Users/YOUR_USERNAME/Downloads/gleif-mcp-server-darwin-arm64"
}
}
}
Windows (replace YOUR_USERNAME - note the double backslashes):
{
"mcpServers": {
"gleif": {
"command": "C:\\Users\\YOUR_USERNAME\\Downloads\\gleif-mcp-server-windows-amd64.exe"
}
}
}
To find your username: Mac - open Terminal and type whoami. Windows - look at C:\Users\.
Quit completely (Cmd + Q on Mac) and reopen.
Type in Claude Desktop:
Look up Apple's LEI using GLEIF
You should see Claude call the GLEIF tool and return company data.
# Add the server
claude mcp add gleif /path/to/gleif-mcp-server
# Or with scope for all projects
claude mcp add --scope user gleif /path/to/gleif-mcp-server
Add to .cursor/mcp.json in your project or ~/.cursor/mcp.json for global config:
{
"mcpServers": {
"gleif": {
"command": "/path/to/gleif-mcp-server"
}
}
}
Add to .continue/config.json:
{
"experimental": {
"modelContextProtocolServers": [
{
"name": "gleif",
"transport": {
"type": "stdio",
"command": "/path/to/gleif-mcp-server"
}
}
]
}
}
Add to ~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": {
"gleif": {
"command": "/path/to/gleif-mcp-server"
}
}
}
Add via Cline's MCP settings or in .vscode/cline_mcp_settings.json:
{
"mcpServers": {
"gleif": {
"command": "/path/to/gleif-mcp-server",
"args": []
}
}
}
Add to ~/.antigravity/mcp.json:
{
"mcpServers": {
"gleif": {
"command": "/path/to/gleif-mcp-server"
}
}
}
Not working? Tell us what made it hard — even one sentence helps.
| Tool | Description | Parameters |
|---|---|---|
lei_lookup | Get full details for a specific LEI | lei (required): 20-char LEI code |
validate_lei | Check format, check digits, and status | lei (required): LEI to validate |
batch_lei_lookup | Look up multiple LEIs at once | leis (required): Comma-separated LEIs (max 100) |
| Tool | Description | Parameters |
|---|---|---|
search_entity | Search by company name | query (required), limit (default 20), page (default 1), fuzzy (default true) |
search_by_bic | Find LEI from BIC/SWIFT | bic (required): 8 or 11 char code |
search_by_isin | Find issuer LEI from ISIN | isin (required): 12-char ISIN |
search_by_country | List entities by country | country (required): ISO 2-letter code, limit (default 20) |
autocomplete | Entity name suggestions | prefix (required): min 2 chars, limit (default 10) |
| Tool | Description | Parameters |
|---|---|---|
get_relationships | Get corporate/fund relationships | lei (required), type: direct-parent, ultimate-parent, children, fund-manager, umbrella-fund, sub-funds |
| Tool | Description | Parameters |
|---|---|---|
get_lei_issuer | Get details about an LOU | issuer_id (required): LOU identifier |
list_lei_issuers | List all LOUs worldwide | None |
| Tool | Description | Parameters |
|---|---|---|
get_reporting_exceptions | Get Level 2 reporting exceptions | lei (required): LEI to check |
Prompt: "Look up LEI HWUPKR0MPOU8FGXBT394"
Returns: Full entity details for Apple Inc. including legal name, headquarters address, jurisdiction (US-CA), entity status, registration status, managing LOU, and next renewal date.
Prompt: "Search for Deutsche Bank, show page 2"
Tool call:
{
"name": "search_entity",
"arguments": {
"query": "Deutsche Bank",
"limit": 20,
"page": 2,
"fuzzy": true
}
}
Returns: List of matching entities with pagination info (total results, current page, has more).
Prompt: "Look up these LEIs: HWUPKR0MPOU8FGXBT394, 5493006MHB84DD0ZWV18, 549300GKFG0RYRRQ1414"
Returns: Summary of all three entities with LEI, legal name, country, city, and status.
Prompt: "Find the LEI for BIC DEUTDEFF"
Returns: Deutsche Bank AG's LEI record with full details.
Prompt: "Who issued ISIN US0378331005?"
Returns: Apple Inc. (the issuer of AAPL stock).
Prompt: "Who is the ultimate parent of this subsidiary?"
Tool call:
{
"name": "get_relationships",
"arguments": {
"lei": "549300GKFG0RYRRQ1414",
"type": "ultimate-parent"
}
}
Prompt: "Is LEI HWUPKR0MPOU8FGXBT394 valid?"
Returns:
{
"lei": "HWUPKR0MPOU8FGXBT394",
"valid": true,
"status": "ISSUED",
"entityStatus": "ACTIVE",
"nextRenewal": "2025-08-15"
}
Prompt: "Why is parent info missing for this company?"
Tool call:
{
"name": "get_reporting_exceptions",
"arguments": {
"lei": "5493006MHB84DD0ZWV18"
}
}
Returns: Exception categories and reasons (e.g., NON_CONSOLIDATING, NATURAL_PERSONS).
Prompt: "Show me all LEI issuers"
Returns: Complete list of LOUs (Local Operating Units) with name, country, status, and number of sponsored LEIs.
All tools return JSON with relevant fields. Example entity record:
{
"lei": "HWUPKR0MPOU8FGXBT394",
"legalName": "Apple Inc.",
"country": "US",
"city": "Cupertino",
"status": "ACTIVE",
"regStatus": "ISSUED"
}
Search results include pagination:
{
"count": 20,
"results": [...],
"pagination": {
"currentPage": 1,
"perPage": 20,
"total": 156,
"lastPage": 8
},
"hasMore": true
}
The server returns structured errors:
| Error Code | Description | Retryable |
|---|---|---|
not_found | LEI/entity not in GLEIF database | No |
invalid_format | Invalid LEI/BIC/ISIN format | No |
rate_limited | GLEIF API rate limit exceeded | Yes |
timeout | Request timed out | Yes |
server_error | GLEIF API error | Depends on status |
network_error | Connection failed | Yes |
Example error response:
{
"code": "not_found",
"message": "LEI not found in GLEIF database",
"statusCode": 404,
"retryable": false
}
gleif-mcp-server/
├── main.go # Entry point, MCP server setup
├── internal/gleif/
│ ├── client.go # GLEIF API client with caching & rate limiting
│ ├── client_test.go # Client and validation tests
│ ├── cache.go # LRU cache with TTL
│ ├── types.go # Data structures for API responses
│ └── errors.go # Structured error types
└── tools/
├── definitions.go # Tool metadata and parameter specs
├── handlers.go # MCP tool implementations
└── handlers_test.go # Handler tests with mock server
For developers who want the specifics:
| Setting | Value |
|---|---|
| Cache duration | 15 minutes |
| Cache capacity | 1000 entities, 500 searches |
| Rate limit | 50 req/min (GLEIF allows 60) |
| Retry strategy | 3 attempts with exponential backoff |
| Connection pool | 100 max idle, 10 per host |
This server wraps the public GLEIF API:
chmod +x gleif-mcp-server# Run tests
go test ./...
# Run tests with coverage
go test -coverprofile=coverage.out ./...
go tool cover -html=coverage.out
# Run tests with race detector
go test -race ./...
# Build
go build -o gleif-mcp-server .
Contributions welcome. Please open an issue first to discuss proposed changes.
MIT License - see LICENSE for details.
Check out my other MCP servers:
| Server | Description | Stars |
|---|---|---|
| mediawiki-mcp-server | Connect AI to any MediaWiki wiki. Search, read, edit wiki content. | |
| miro-mcp-server | Control Miro whiteboards with AI. Boards, diagrams, mindmaps, and more. | |
| nordic-registry-mcp-server | Access Nordic business registries. Look up companies across Norway, Denmark, Finland, Sweden. | |
| productplan-mcp-server | Talk to your ProductPlan roadmaps. Query OKRs, ideas, launches. |
Install via CLI
npx mdskills install olgasafonova/gleif-mcp-serverGLEIF MCP Server is a free, open-source AI agent skill. Verify any company's legal identity in one question. Look up LEI codes, validate counterparties, and trace corporate ownership structures using the official GLEIF database. Covers 2.8M+ entities across 200+ jurisdictions. 29 tools for LEI lookup, entity search, BIC/SWIFT cross-referencing, corporate ownership, and batch validation. Works with Claude Desktop, Claude Code, Cursor, VS Code, Windsurf,
Install GLEIF MCP Server with a single command:
npx mdskills install olgasafonova/gleif-mcp-serverThis downloads the skill files into your project and your AI agent picks them up automatically.
GLEIF MCP Server works with Claude Code, Claude Desktop, Cursor, Vscode Copilot, Windsurf, Continue Dev, Gemini Cli, Amp, Roo Code, Goose. Skills use the open SKILL.md format which is compatible with any AI coding agent that reads markdown instructions.