feat(mcp-alpaca): leverage_cap + paper resolver + environment_info
This commit is contained in:
@@ -5,6 +5,7 @@ import os
|
||||
|
||||
import uvicorn
|
||||
from mcp_common.auth import load_token_store_from_files
|
||||
from mcp_common.environment import resolve_environment
|
||||
from mcp_common.logging import configure_root_logging
|
||||
|
||||
from mcp_alpaca.client import AlpacaClient
|
||||
@@ -19,20 +20,32 @@ def main():
|
||||
with open(creds_file) as f:
|
||||
creds = json.load(f)
|
||||
|
||||
paper_env = os.environ.get("ALPACA_PAPER", "true").lower()
|
||||
paper = paper_env not in ("0", "false", "no")
|
||||
creds.setdefault("base_url_live", "https://api.alpaca.markets")
|
||||
creds.setdefault("base_url_testnet", "https://paper-api.alpaca.markets")
|
||||
|
||||
env_info = resolve_environment(
|
||||
creds,
|
||||
env_var="ALPACA_PAPER",
|
||||
flag_key="paper",
|
||||
exchange="alpaca",
|
||||
)
|
||||
|
||||
client = AlpacaClient(
|
||||
api_key=creds["api_key_id"],
|
||||
secret_key=creds["secret_key"],
|
||||
paper=paper,
|
||||
paper=(env_info.environment == "testnet"),
|
||||
)
|
||||
|
||||
token_store = load_token_store_from_files(
|
||||
core_token_file=os.environ.get("CORE_TOKEN_FILE"),
|
||||
observer_token_file=os.environ.get("OBSERVER_TOKEN_FILE"),
|
||||
)
|
||||
app = create_app(client=client, token_store=token_store)
|
||||
app = create_app(
|
||||
client=client,
|
||||
token_store=token_store,
|
||||
creds=creds,
|
||||
env_info=env_info,
|
||||
)
|
||||
uvicorn.run(
|
||||
app,
|
||||
log_config=None,
|
||||
|
||||
Reference in New Issue
Block a user