Spaces:
Sleeping
Sleeping
File size: 1,391 Bytes
01f0e50 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
import os
from dotenv import load_dotenv
from market import is_paid_polygon, is_realtime_polygon
load_dotenv(override=True)
brave_env = {"BRAVE_API_KEY": os.getenv("BRAVE_API_KEY")}
polygon_api_key = os.getenv("POLYGON_API_KEY")
# The MCP server for the Trader to read Market Data
if is_paid_polygon or is_realtime_polygon:
market_mcp = {
"command": "uvx",
"args": ["--from", "git+https://github.com/polygon-io/mcp_polygon@v0.1.0", "mcp_polygon"],
"env": {"POLYGON_API_KEY": polygon_api_key},
}
else:
market_mcp = {"command": "uv", "args": ["run", "market_server.py"]}
# The full set of MCP servers for the trader: Accounts, Push Notification and the Market
trader_mcp_server_params = [
{"command": "uv", "args": ["run", "accounts_server.py"]},
{"command": "uv", "args": ["run", "push_server.py"]},
market_mcp,
]
# The full set of MCP servers for the researcher: Fetch, Brave Search and Memory
def researcher_mcp_server_params(name: str):
return [
{"command": "uvx", "args": ["mcp-server-fetch"]},
{
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-brave-search"],
"env": brave_env,
},
{
"command": "npx",
"args": ["-y", "mcp-memory-libsql"],
"env": {"LIBSQL_URL": f"file:./memory/{name}.db"},
},
]
|