npm openfigi-mcpstdioMITupdated 7mo ago
A modern, type-safe TypeScript SDK and MCP server for the OpenFIGI API - the free and open standard for financial instrument identification.
What can you do with openfigi?
OpenFIGI
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.
Packages
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 |
openfigi-sdk
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')
openfigi-mcp
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:
- Auto-detection: Parse CSV/text and detect identifier types (ISIN, CUSIP, SEDOL, Bloomberg ID, Ticker)
- Batch operations: Process up to 100 identifiers at once
- Ticker + Exchange: Supports formats like
AAPL US,ABLI SS,VOD LN
Using with Vercel AI SDK
npm 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'.
Development
# 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
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
Development Workflow
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Make your changes and add tests
- Add a changeset:
bun run changeset - Commit and push
- Open a Pull Request
Release Process
This 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.
License
MIT - see LICENSE
Links
Install
Add openfigi to your client. Pick the one you use.
claude mcp add openfigi-mcp -- npx -y openfigi-mcpcodex mcp add openfigi-mcp -- npx -y openfigi-mcpamp mcp add openfigi-mcp -- npx -y openfigi-mcp{
"mcpServers": {
"openfigi-mcp": {
"command": "npx",
"args": [
"-y",
"openfigi-mcp"
]
}
}
}Add to `claude_desktop_config.json`, then restart Claude Desktop.
{
"mcpServers": {
"openfigi-mcp": {
"command": "npx",
"args": [
"-y",
"openfigi-mcp"
]
}
}
}Add to `~/.cursor/mcp.json`, or `.cursor/mcp.json` for a single project.
code --add-mcp '{"name":"openfigi-mcp","command":"npx","args":["-y","openfigi-mcp"]}'Or add the block manually to `.vscode/mcp.json` under `servers`.
{
"mcpServers": {
"openfigi-mcp": {
"command": "npx",
"args": [
"-y",
"openfigi-mcp"
]
}
}
}Add to `~/.codeium/windsurf/mcp_config.json`.
{
"mcpServers": {
"openfigi-mcp": {
"command": "npx",
"args": [
"-y",
"openfigi-mcp"
]
}
}
}Add to `cline_mcp_settings.json` via the MCP Servers panel.
{
"mcpServers": {
"openfigi-mcp": {
"command": "npx",
"args": [
"-y",
"openfigi-mcp"
]
}
}
}Add to `~/.gemini/settings.json`.
{
"mcpServers": {
"openfigi-mcp": {
"type": "local",
"command": "npx",
"args": [
"-y",
"openfigi-mcp"
],
"tools": [
"*"
]
}
}
}Add to `~/.copilot/mcp-config.json`, or run `/mcp add` inside the CLI.
{
"context_servers": {
"openfigi-mcp": {
"command": {
"path": "npx",
"args": [
"-y",
"openfigi-mcp"
]
}
}
}
}Add to your Zed `settings.json`.
npx -y openfigi-mcpRun `goose configure`, choose **Add Extension → Command-line Extension**, and paste this command.
Score
39 / 100
Incomplete
- Documentation25/25
- Maintenance9/25
- Trust13/20
- Capability0/15
- Install experience12/15
- Documents what it does and how to connect
- Has a resolvable package or endpoint
- Exposes at least one tool, prompt or resource
- README has substantive content
- Includes a code example
- Documents its configuration
- Mentions credentials or security posture
- Last commit 225 days ago
- Has a release history
- Repository is not archived
- Licensed MIT
- Namespace verified in the official MCP registry
- Claimed by its owner
- Published under an organisation
- 0 tool(s) documented
- Provides prompt templates
- Provides resources
- 12 documented install method(s)
- Published to a package registry
- Offers a hosted endpoint — no local install
Version history
| Versions | Published |
|---|---|
| 0.2.4Latest | Jan 17, 2026 |