openfolio-ro-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| OPENFOLIO_ORIGIN | No | Origin of the OpenFolio server; defaults to https://codytang.cn, change only when using a different host. | https://codytang.cn |
| OPENFOLIO_RO_KEY | Yes | API key for OpenFolio read-only access. Token needs 'mrmc' scope. | |
| NPM_CONFIG_PREFIX | No | Workaround for Curor ENOENT; a single space. Omit if npx already works. | |
| npm_config_registry | No | npm registry used by npx; set to https://registry.npmjs.org/ when your default registry is a mirror. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| ro_catalogA | Discovery: JSON of all OpenFolio read-only HTTP APIs (path + summary) and the four MCP tools. Call this when unsure which RO endpoint exists. Auth is X-API-Key on the server; the MCP process already has the key. No inputs. |
| ro_holdingsA | Current broker holdings from OpenFolio RO GET /api/external/ro/holdings: symbol, quantity, cost, market value, PnL per Longbridge/Futu/IBKR. No credentials or webhooks. Use for "现在仓位/持仓怎样". No inputs. |
| ro_gridA | All %-grid positions with performance from GET /api/external/ro/grid (webhook_url stripped). Use for 网格赚了没 / 哪些网格开着. One grid's trades/chart are HTTP-only (see ro_catalog). No inputs. |
| ro_logsA | OpenFolio GET /api/external/ro/logs. Must pass module (e.g. grid, scheduler, fetcher) or search (substring in message/data). Default 50 rows, max 100. Use for 查某某报错/最近日志. Do not call with empty filters. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 4 tools
Each tool targets a distinct resource: catalog for discovery, holdings for positions, grid for grid performance, logs for system logs. There is zero overlap in purpose, so an agent can reliably select the right tool.
All tools follow the consistent pattern 'ro_<noun>' (ro_catalog, ro_holdings, ro_grid, ro_logs), making the naming predictable and easy to infer.
With just 4 tools, the set is tightly scoped to the read-only portfolio data domain. Each tool serves a clear, non-redundant purpose, and the count is well within the typical ideal range.
The tools cover the core read-only needs: discovery (catalog), holdings, grid positions, and logs. The catalog provides awareness of additional HTTP-only endpoints, so agents can at least know about them. Minor gap: some read-only data (e.g., individual grid trades) is not directly accessible via MCP, but the presence of the catalog mitigates this.