Compare commits

..

5 Commits

Author SHA1 Message Date
Christian Gick
5322f04c82 docs: Add OpenBao integration (no secrets required)
MCP server does not require any secrets or sensitive configuration.

Related: OpenBao Phase 4 MCP Servers Integration

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-24 10:37:26 +02:00
Christian Gick
04ca5aec59 fix(GB-77): Change default port from 8001 to 8000 to match conductor
Conductor runs on port 8000 per docker-compose.yml, not 8001.
This was causing all gridbot-mcp tools to fail with connection errors.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-21 11:45:07 +02:00
Christian Gick
20cfa456c0 fix(GB-64): Correct GridBot MCP API port from 8000 to 8001
Changes:
- Updated ~/.claude/settings.json: GRIDBOT_API_URL → http://services:8001
- Updated README.md documentation with correct port

Root cause: Conductor API exposed on port 8001, not 8000.
Health endpoint verified: http://services:8001/health

Requires Claude Code restart to load new MCP configuration.
2026-01-20 19:28:16 +02:00
Christian Gick
72bc14ed2c fix(GB-63): Add min_pi_count parameter to pi_consensus_top tool
Default changed from 3 to 2 to match reality (we have max 2 PIs per symbol).
Allows querying consensus positions held by 2+ PIs instead of requiring 3+.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-20 18:47:07 +02:00
Christian Gick
5ce18bb435 fix: Update default GRIDBOT_API_URL to services:8001
Changed from services.agiliton.internal:8000 to services:8001 to match actual conductor port.

Port 8001 is the external mapping for conductor's internal port 8000.
2026-01-20 18:07:57 +02:00
4 changed files with 15 additions and 5 deletions

8
.env.vault-mapping Normal file
View 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.

View File

@@ -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"
}
}
}

View File

@@ -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"