Connects Claude to the OpenFIGI API for mapping between financial identifiers like ISINs, CUSIPs, SEDOLs, and tickers to FIGIs (Financial Instrument Global Identifiers). The server automatically detects identifier types from CSV or text input and handles batch lookups of up to 100 identifiers at once. It supports ticker plus exchange formats like "AAPL US" or "VOD LN" for disambiguation. You'd use this when working with financial data across multiple systems that use different identification schemes and need a standardized way to reconcile them. Includes a standalone TypeScript SDK if you want to use OpenFIGI outside of Claude. Note that this is a community project, not officially affiliated with OpenFIGI or Bloomberg.
A modern, type-safe TypeScript SDK and MCP server for the OpenFIGI API - the free and open standard for financial instrument identification.
Community Project Disclaimer This is an unofficial, community-maintained project for OpenFIGI. It is not affiliated with or endorsed by OpenFIGI or Bloomberg. For official support, please refer to the OpenFIGI official documentation.
This monorepo contains two packages:
| Package | Version | Description |
|---|---|---|
| openfigi-sdk | TypeScript SDK for the OpenFIGI API | |
| openfigi-mcp | MCP server for Claude and AI assistants |
Type-safe TypeScript SDK with full API coverage.
npm install openfigi-sdk
import { searchByISIN, searchByTicker, createClient } from 'openfigi-sdk'
// Search by ISIN
const response = await searchByISIN('US0378331005')
// Search by ticker
await searchByTicker('AAPL', 'US', { securityType2: 'Common Stock' })
// With API key for higher rate limits
const client = createClient({ apiKey: 'your-api-key' })
await client.searchByISIN('US0378331005')
MCP (Model Context Protocol) server for using OpenFIGI with Claude and other AI assistants.
npm install openfigi-mcp
Add to Claude Desktop config:
{
"mcpServers": {
"openfigi": {
"command": "npx",
"args": ["openfigi-mcp@latest"],
"env": {
"OPENFIGI_API_KEY": "your-api-key-here"
}
}
}
}
Features:
AAPL US, ABLI SS, VOD LNnpm install ai @ai-sdk/mcp @ai-sdk/anthropic @modelcontextprotocol/sdk
import { createMCPClient } from '@ai-sdk/mcp'
import { StdioClientTransport } from '@modelcontextprotocol/sdk/client/stdio.js'
import { generateText } from 'ai'
import { anthropic } from '@ai-sdk/anthropic'
const mcpClient = await createMCPClient({
transport: new StdioClientTransport({
command: 'npx',
args: ['openfigi-mcp'],
env: { OPENFIGI_API_KEY: process.env.OPENFIGI_API_KEY }
}),
})
const tools = await mcpClient.tools()
const { text } = await generateText({
model: anthropic('claude-sonnet-4-20250514'),
tools,
maxSteps: 5,
prompt: 'Find the FIGI for Apple Inc using ISIN US0378331005',
})
await mcpClient.close()
Note: For AI SDK 5.x, use
experimental_createMCPClientfrom'ai'instead ofcreateMCPClientfrom'@ai-sdk/mcp'.
# Install dependencies
bun install
# Build all packages
bun run build
# Run all tests
bun run test
# Type check
bun run typecheck
# Lint
bun run lint
Contributions are welcome! Please feel free to submit a Pull Request.
git checkout -b feature/AmazingFeature)bun run changesetThis project uses Changesets for version management. When PRs with changesets are merged, a release PR is automatically created. Merging the release PR publishes to npm.
MIT - see LICENSE
OPENFIGI_API_KEYsecretOpenFIGI API key (optional but recommended for higher rate limits)