openbq-org/openbb/configure-mcp-server
Claude Code and agent skill by openbq-org/openbb
- community
- ext:[{"type":"config","description":"Configuration overrides"}]
Checking that the SKILL.md file is still in the repository.
This guide covers installation, configuration, authentication, tool discovery, prompt management, and client integration for `openbb-mcp-server`.
Install
npx vskill@latest install openbq-org/openbb/configure-mcp-serverSemi-extensibleMentions customization, but needs skill-specific knowledge. Read the extensible skills standard
SKILL.md
Configure and Build the OpenBB MCP Server
This guide covers installation, configuration, authentication, tool discovery, prompt management, and client integration for openbb-mcp-server.
Installation
This installs the openbb-mcp CLI command. To include the default OpenBB extensions as tools, also install them:
Or install individual extensions:
The cli extra adds openbb-cli and its four dispatcher tools (openbb_dispatch, openbb_batch_dispatch, openbb_list_commands, openbb_describe_command); enable_cli_tools=false turns them off:
Starting the Server
Default (all installed OpenBB extensions)
Defaults: --host 127.0.0.1 --port 8001 --transport streamable-http
With a Custom FastAPI Application
Transport Options
| Transport | Flag | Use Case | |
|---|---|---|---|
streamable-http | --transport streamable-http | Default. HTTP-based, works with Cursor, VS Code | |
sse | --transport sse | Legacy Server-Sent Events. Required by Cline | |
stdio | --transport stdio | Standard I/O. Used by Claude Desktop |
CLI Arguments
| Argument | Description | Default | |
|---|---|---|---|
--app <path> | Path to FastAPI application file or module:instance (mutually exclusive with --spec) | OpenBB default app | |
--name <name> | Name of the FastAPI instance or factory function | app | |
--factory | Treat --name as a factory function | false | |
--spec <path> | Path to an openbb-cli generated .spec file. Synthesizes a FastAPI proxy app whose routes forward to the spec's base_url; FastMCP exposes those routes as MCP tools. Mutually exclusive with --app. | None | |
--config-file <path> | Path to an openbb.toml config file. Highest-priority TOML layer in the cascade. Also honored via OPENBB_MCP_CONFIG / OPENBB_API_CONFIG / OPENBB_CONFIG. | None | |
--host <host> | Server host | 127.0.0.1 | |
--port <port> | Server port | 8001 | |
--transport <type> | streamable-http, sse, or stdio | streamable-http | |
--default-categories <csv> | Categories served when tool discovery is off | all | |
--allowed-categories <csv> | The only categories served, with or without discovery | All categories | |
--tool-discovery | Hide the tools behind available_categories, available_tools, search_tools, and call_tool | Discovery disabled | |
--system-prompt <path> | Path to a .txt system prompt file | None | |
--server-prompts <path> | Path to a .json server prompts file | None |
Every other --key value is routed by name: an MCPSettings field sets that setting (--enable-cli-tools false, --server-auth '["user", "pass"]'), --httpx-<option> sets an option of the httpx client that calls the API (--httpx-verify false), and anything else is passed to uvicorn (--log-level debug).
Spec-Driven Proxy Mode
Instead of importing a FastAPI app in-process, the launcher can synthesize one from an openbb-cli generated .spec file. Each command in the spec becomes a FastAPI route that proxies to the spec's recorded base_url. FastMCP walks those routes and exposes them as MCP tools — same tool surface as a normal --app install, but the heavy import openbb lives on the upstream server.
Generating a spec
The spec is produced by openbb-cli:
This fetches /openapi.json from the server and writes a precomputed .spec file with every command's URL path, method, parameter schema, and a content_sha256 integrity hash.
Single-spec launch
Or via TOML (--config-file openbb.toml):
--spec and --app are mutually exclusive.
Multi-spec mounting
Each [mcp.spec.NAME] subtable mounts an independent spec under its own prefix. FastMCP turns the union of all mounted routes into MCP tools; per-spec hooks fire on every tool dispatch into that spec's mount.
openbb.toml Cascade
The launcher reads the same layered TOML cascade openbb-core ships with, lowest priority first:
Every layer is optional, and .openbb.toml works in place of openbb.toml. --config-file (or OPENBB_MCP_CONFIG / OPENBB_API_CONFIG / OPENBB_CONFIG) is the highest-priority TOML layer. [mcp] values are applied like CLI flags: a CLI flag beats them, and they beat OPENBB_MCP_* environment variables. [env] entries never replace a variable already set in the shell or a .env file.
Top-level tables
| Table | Purpose | |
|---|---|---|
[mcp] | Default values for any of the --* CLI flags (CLI wins). | |
[mcp.spec] | Single-spec proxy mode (path, base_url, content_sha256, headers). | |
[mcp.spec.NAME] | Multi-spec mount (path, base_url, content_sha256, headers, auth, middleware). | |
[mcp.auth] | Top-level auth hook list. | |
[mcp.middleware] | Top-level middleware hook list. | |
[env] | Env vars pushed into os.environ before any heavy import runs. Existing shell env vars are NEVER clobbered. Values support $VAR / ${VAR} substitution. |
Auth and middleware hooks
Both [mcp.auth] and [mcp.middleware] accept a hooks list of module:attr entry points. Each hook is a 2-arg async function async def hook(request, call_next) and is wrapped as a Middleware(BaseHTTPMiddleware, dispatch=fn) on the MCP server's ASGI stack.
Auth hooks register before middleware hooks; within each list, registration order matches TOML order. Per-spec hooks (under [mcp.spec.NAME.auth] / [mcp.spec.NAME.middleware]) are scoped to that spec's mounted sub-app. The top-level hooks wrap the HTTP transports (streamable-http, sse); the stdio transport has no HTTP stack, so they do not run there.
Env injection
Useful in containers to inject OPENBB_* keys without shell exports. Any key already present in the real environment is preserved.
Configuration Precedence
Settings are resolved in this order (highest priority first):
- CLI arguments — command-line flags
- `[mcp]` table of the `openbb.toml` cascade — applied like CLI flags;
--config-file PATH> projectopenbb.toml> user-global~/.openbb_platform/openbb.toml>[tool.openbb.mcp]inpyproject.toml - Environment variables —
OPENBB_MCP_prefixed, including those set by[env] - JSON settings file —
~/.openbb_platform/mcp_settings.json, written with the defaults on first run - Defaults — built-in MCPSettings defaults
Config File Example
Create ~/.openbb_platform/mcp_settings.json:
Environment Variables
All settings map to OPENBB_MCP_ prefixed environment variables:
Settings Reference
Server Identity
| Setting | Env Var | Type | Default | ||
|---|---|---|---|---|---|
name | OPENBB_MCP_NAME | str | "OpenBB MCP" | ||
description | OPENBB_MCP_DESCRIPTION | str | Auto-generated | ||
version | OPENBB_MCP_VERSION | `str \ | None` | None | |
instructions | OPENBB_MCP_INSTRUCTIONS | `str \ | None` | None (the system prompt, when one is loaded) | |
mask_error_details | OPENBB_MCP_MASK_ERROR_DETAILS | `bool \ | None` | None |
Tool Configuration
| Setting | Env Var | Type | Default | ||
|---|---|---|---|---|---|
default_tool_categories | OPENBB_MCP_DEFAULT_TOOL_CATEGORIES | list[str] | ["all"] | ||
allowed_tool_categories | OPENBB_MCP_ALLOWED_TOOL_CATEGORIES | `list[str] \ | None` | None | |
enable_tool_discovery | OPENBB_MCP_ENABLE_TOOL_DISCOVERY | bool | false | ||
enable_cli_tools | OPENBB_MCP_ENABLE_CLI_TOOLS | bool | true | ||
list_page_size | OPENBB_MCP_LIST_PAGE_SIZE | `int \ | None` | None | |
describe_responses | OPENBB_MCP_DESCRIBE_RESPONSES | bool | false | ||
api_prefix | OPENBB_MCP_API_PREFIX | `str \ | None` | None |
enable_cli_tools registers the openbb-cli dispatcher tools when openbb-cli is installed. mask_error_details hides exception details from clients.
Prompt Configuration
| Setting | Env Var | Type | Default | ||
|---|---|---|---|---|---|
system_prompt_file | OPENBB_MCP_SYSTEM_PROMPT_FILE | `str \ | None` | None | |
server_prompts_file | OPENBB_MCP_SERVER_PROMPTS_FILE | `str \ | None` | None | |
default_skills_dir | OPENBB_MCP_DEFAULT_SKILLS_DIR | `str \ | None` | Built-in skills dir | |
skills_reload | OPENBB_MCP_SKILLS_RELOAD | bool | false | ||
skills_providers | OPENBB_MCP_SKILLS_PROVIDERS | `list[str] \ | None` | None |
HTTP Transport
| Setting | Env Var | Type | Default | |
|---|---|---|---|---|
uvicorn_config | OPENBB_MCP_UVICORN_CONFIG | dict | {"host": "127.0.0.1", "port": "8001"} | |
httpx_client_kwargs | OPENBB_MCP_HTTPX_CLIENT_KWARGS | dict | {} |
httpx_client_kwargs configures the httpx client that sends tool calls to the API (headers, timeout, TLS verification).
Duplicate Handling
| Setting | Env Var | Type | Default | ||
|---|---|---|---|---|---|
on_duplicate | OPENBB_MCP_ON_DUPLICATE | `str \ | None` | None |
Options: "warn", "error", "replace", "ignore"
Module Exclusion
| Setting | Env Var | Type | Default | ||
|---|---|---|---|---|---|
module_exclusion_map | OPENBB_MCP_MODULE_EXCLUSION_MAP | `dict \ | None` | None |
This is the start of the file. Read the full SKILL.md on GitHub.
Security
- Security scanPassed, 100 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingopenbb_platform/extensions/mcp_server/openbb_mcp_server/skills/configure_mcp_server/SKILL.md
Popularity
- Repository stars
- 73,706
- Repository forks
- 7,633
- 7-day trend score
- 56
Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.
Extension points
configConfiguration overrides
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/openbq-org/openbb/configure-mcp-server)