Compare commits
5 Commits
823b8b4297
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
5322f04c82 | ||
|
|
04ca5aec59 | ||
|
|
20cfa456c0 | ||
|
|
72bc14ed2c | ||
|
|
5ce18bb435 |
8
.env.vault-mapping
Normal file
8
.env.vault-mapping
Normal file
@@ -0,0 +1,8 @@
|
||||
# OpenBao Secret Mapping
|
||||
# Format: kv:kv:path/to/secret:value=ENV_VAR_NAME
|
||||
#
|
||||
# Generated for MCP server OpenBao integration
|
||||
# Date: 2026-01-24
|
||||
|
||||
# No secrets required
|
||||
# This MCP server does not require any secrets or sensitive configuration.
|
||||
@@ -5,7 +5,7 @@ Exposes eToroGridbot trading bot operations via Model Context Protocol. Provides
|
||||
## Requirements
|
||||
|
||||
- VPN connection to services network: `vpn-connect`
|
||||
- Gridbot conductor running on services VM (http://services:8000)
|
||||
- Gridbot conductor running on services VM (http://services:8001)
|
||||
- Python 3.10+ with uv for development
|
||||
|
||||
## Configuration
|
||||
@@ -19,7 +19,7 @@ Add to `~/.claude/settings.json` under `mcpServers`:
|
||||
"args": ["-m", "src.server"],
|
||||
"cwd": "/path/to/gridbot-mcp",
|
||||
"env": {
|
||||
"GRIDBOT_API_URL": "http://services:8000"
|
||||
"GRIDBOT_API_URL": "http://services:8001"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Binary file not shown.
@@ -1,7 +1,7 @@
|
||||
"""
|
||||
Gridbot MCP Server - Wraps eToroGridbot REST API as MCP tools.
|
||||
|
||||
Requires VPN connection and GRIDBOT_API_URL env var (default: http://services.agiliton.internal:8000)
|
||||
Requires VPN connection and GRIDBOT_API_URL env var (default: http://services:8000)
|
||||
"""
|
||||
|
||||
import os
|
||||
@@ -13,7 +13,7 @@ from mcp.server import Server
|
||||
from mcp.server.stdio import stdio_server
|
||||
from mcp.types import Tool, TextContent
|
||||
|
||||
BASE_URL = os.getenv("GRIDBOT_API_URL", "http://services.agiliton.internal:8000")
|
||||
BASE_URL = os.getenv("GRIDBOT_API_URL", "http://services:8000")
|
||||
TIMEOUT = 30.0
|
||||
|
||||
server = Server("gridbot-mcp")
|
||||
@@ -563,6 +563,7 @@ async def list_tools() -> list[Tool]:
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"limit": {"type": "number", "default": 10, "description": "Max results (1-100)"},
|
||||
"min_pi_count": {"type": "number", "default": 2, "description": "Minimum PIs required (default: 2)"},
|
||||
},
|
||||
"required": [],
|
||||
},
|
||||
@@ -823,7 +824,8 @@ async def call_tool(name: str, arguments: dict[str, Any]) -> list[TextContent]:
|
||||
result = await api_get(f"/api/pi-intelligence/consensus/{symbol}")
|
||||
case "pi_consensus_top":
|
||||
limit = arguments.get("limit", 10)
|
||||
result = await api_get(f"/api/pi-intelligence/consensus/top?limit={limit}")
|
||||
min_pi_count = arguments.get("min_pi_count", 2)
|
||||
result = await api_get(f"/api/pi-intelligence/consensus/top?limit={limit}&min_pi_count={min_pi_count}")
|
||||
case "pi_scan_trigger":
|
||||
usernames = arguments.get("usernames")
|
||||
endpoint = "/api/pi-intelligence/scan/trigger"
|
||||
|
||||
Reference in New Issue
Block a user