MCP Server
MCP
Ghostfolio MCP
MCP server for Ghostfolio portfolio management and financial data access
Install
uvx ghostfolio-mcp
Configuration Example
{
"remotes": [],
"packages": [
{
"registryType": "pypi",
"identifier": "ghostfolio-mcp",
"version": "1.6.0",
"runtimeHint": "uvx",
"transport": {
"type": "stdio"
},
"environmentVariables": [
{
"description": "Ghostfolio base URL (e.g., https://domain.tld:3333)",
"isRequired": true,
"name": "GHOSTFOLIO_URL"
},
{
"description": "Ghostfolio API token for authentication",
"isRequired": true,
"isSecret": true,
"name": "GHOSTFOLIO_TOKEN"
},
{
"description": "Verify SSL certificates (true/false)",
"default": "true",
"name": "GHOSTFOLIO_VERIFY_SSL"
},
{
"description": "Request timeout in seconds",
"default": "30",
"name": "GHOSTFOLIO_TIMEOUT"
},
{
"description": "Enable read-only mode to restrict write operations",
"default": "false",
"name": "READ_ONLY_MODE"
},
{
"description": "Comma-separated list of tags to disable tools for",
"name": "GHOSTFOLIO_DISABLED_TAGS"
},
{
"description": "Logging level (DEBUG, INFO, WARNING, ERROR, CRITICAL)",
"default": "INFO",
"name": "LOG_LEVEL"
},
{
"description": "Enable rate limiting",
"default": "false",
"name": "RATE_LIMIT_ENABLED"
},
{
"description": "Maximum requests per rate limit window",
"default": "60",
"name": "RATE_LIMIT_MAX_REQUESTS"
},
{
"description": "Rate limit window in minutes",
"default": "1",
"name": "RATE_LIMIT_WINDOW_MINUTES"
},
{
"description": "Enable FastMCP tool search transform",
"default": "false",
"name": "TOOL_SEARCH_ENABLED"
},
{
"description": "Tool search strategy (bm25 or regex)",
"default": "bm25",
"name": "TOOL_SEARCH_STRATEGY"
},
{
"description": "Maximum tool search results returned by search_tools",
"default": "5",
"name": "TOOL_SEARCH_MAX_RESULTS"
}
]
},
{
"registryType": "pypi",
"identifier": "ghostfolio-mcp",
"version": "1.6.0",
"runtimeHint": "uvx",
"transport": {
"type": "streamable-http",
"url": "http://localhost:{MCP_HTTP_PORT}/mcp"
},
"environmentVariables": [
{
"description": "Ghostfolio base URL (e.g., https://domain.tld:3333)",
"isRequired": true,
"name": "GHOSTFOLIO_URL"
},
{
"description": "Ghostfolio API token for authentication",
"isRequired": true,
"isSecret": true,
"name": "GHOSTFOLIO_TOKEN"
},
{
"description": "Verify SSL certificates (true/false)",
"default": "true",
"name": "GHOSTFOLIO_VERIFY_SSL"
},
{
"description": "Request timeout in seconds",
"default": "30",
"name": "GHOSTFOLIO_TIMEOUT"
},
{
"description": "Enable read-only mode to restrict write operations",
"default": "false",
"name": "READ_ONLY_MODE"
},
{
"description": "Comma-separated list of tags to disable tools for",
"name": "GHOSTFOLIO_DISABLED_TAGS"
},
{
"description": "Logging level (DEBUG, INFO, WARNING, ERROR, CRITICAL)",
"default": "INFO",
"name": "LOG_LEVEL"
},
{
"description": "Enable rate limiting",
"default": "false",
"name": "RATE_LIMIT_ENABLED"
},
{
"description": "Maximum requests per rate limit window",
"default": "60",
"name": "RATE_LIMIT_MAX_REQUESTS"
},
{
"description": "Rate limit window in minutes",
"default": "1",
"name": "RATE_LIMIT_WINDOW_MINUTES"
},
{
"description": "Enable FastMCP tool search transform",
"default": "false",
"name": "TOOL_SEARCH_ENABLED"
},
{
"description": "Tool search strategy (bm25 or regex)",
"default": "bm25",
"name": "TOOL_SEARCH_STRATEGY"
},
{
"description": "Maximum tool search results returned by search_tools",
"default": "5",
"name": "TOOL_SEARCH_MAX_RESULTS"
},
{
"description": "Port for HTTP server (default: 8000)",
"default": "8000",
"name": "MCP_HTTP_PORT"
},
{
"description": "MCP transport type (http for HTTP, stdio for stdio)",
"value": "http",
"name": "MCP_TRANSPORT"
}
]
},
{
"registryType": "oci",
"identifier": "ghcr.io/mhajder/ghostfolio-mcp:1.6.0",
"transport": {
"type": "streamable-http",
"url": "http://localhost:{MCP_HTTP_PORT}/mcp"
},
"runtimeArguments": [
{
"description": "Port mapping for HTTP transport",
"isRequired": true,
"value": "{MCP_HTTP_PORT}:8000",
"type": "named",
"name": "-p"
}
],
"environmentVariables": [
{
"description": "Ghostfolio base URL (e.g., https://domain.tld:3333)",
"isRequired": true,
"name": "GHOSTFOLIO_URL"
},
{
"description": "Ghostfolio API token for authentication",
"isRequired": true,
"isSecret": true,
"name": "GHOSTFOLIO_TOKEN"
},
{
"description": "Verify SSL certificates (true/false)",
"default": "true",
"name": "GHOSTFOLIO_VERIFY_SSL"
},
{
"description": "Request timeout in seconds",
"default": "30",
"name": "GHOSTFOLIO_TIMEOUT"
},
{
"description": "Enable read-only mode to restrict write operations",
"default": "false",
"name": "READ_ONLY_MODE"
},
{
"description": "Comma-separated list of tags to disable tools for",
"name": "GHOSTFOLIO_DISABLED_TAGS"
},
{
"description": "Logging level (DEBUG, INFO, WARNING, ERROR, CRITICAL)",
"default": "INFO",
"name": "LOG_LEVEL"
},
{
"description": "Enable rate limiting",
"default": "false",
"name": "RATE_LIMIT_ENABLED"
},
{
"description": "Maximum requests per rate limit window",
"default": "60",
"name": "RATE_LIMIT_MAX_REQUESTS"
},
{
"description": "Rate limit window in minutes",
"default": "1",
"name": "RATE_LIMIT_WINDOW_MINUTES"
},
{
"description": "Enable FastMCP tool search transform",
"default": "false",
"name": "TOOL_SEARCH_ENABLED"
},
{
"description": "Tool search strategy (bm25 or regex)",
"default": "bm25",
"name": "TOOL_SEARCH_STRATEGY"
},
{
"description": "Maximum tool search results returned by search_tools",
"default": "5",
"name": "TOOL_SEARCH_MAX_RESULTS"
},
{
"description": "Port for HTTP server (default: 8000)",
"default": "8000",
"name": "MCP_HTTP_PORT"
}
]
}
]
}
mcp
model-context-protocol
pypi
oci
By
Comments
Sign in to leave a comment