App In A Box

general MCP Server

FastAPI + MCP service template for GCP Cloud Run. Dual protocol, three-tier access (free, auth, x402), Terraform IaC.

Verified
generalgeneralgcp
3 views3 stars1 forksMIT

Why This Matters

Discovered via github-topic:mcp and last synced 5mo ago.

Verified
Source
github-topic:mcp
Stars
3
Last synced
5mo ago
Install
Check source

Install

Install instructions not detected yet

Check the source repository for the latest setup steps.

View source instructions
9
Tools
0
Resources
0
Prompts
Standard I/O
Transport

Available Tools (9)

Strategy

`create_strategy_autonomous`, `create_strategy_manual`, `list_strategies`, `get_strategy`, `update_strategy_status`, `backtest_strategy`, `evaluate_strategy`

Market

`get_ohlcv`, `get_market_data`

Wallet

`create_wallet`, `import_wallet`, `list_wallets`, `get_balances`

Category

Tools

kb_search

Every tool has a mirrored REST endpoint at `/api/v1/agent/*`. Both call the same service layer — pick whichever fits your caller. --- ## How it works ``` ┌─────────────────────────────────────────────────────────────┐ │ Your machine │ │ │ │ Claude Code ─MCP──┐ │ │ Python/curl ─REST─┤ │ │ ▼ │ │ ┌─ defi-agent (single FastAPI process, port 8080) ──┐ │ │ │ • auth middleware (X-API-Key) │ │ │ │ • service layer (one for REST + MCP) │ │ │ │ • APScheduler (in-process cron, SQLite jobstore)│ │ │ │ • local Fernet-encrypted wallets │ │ │ └───────────────────────────────────────────────────┘ │ │ │ │ │ │ ▼ ▼ │ │ ┌── SQLite: agent.db ─┐ ┌── OS Keychain (Fernet key) ─┐ │ │ └─────────────────────┘ └──────────────────────────────┘ │ └─────────────────────────────────────────────────────────────┘ │ │ ▼ ▼ mangroveai SDK mangrovemarkets SDK (strategies, backtest, (DEX swap, portfolio, signals, market, wallet) KB, on-chain) ``` Strategy evaluation happens inside `mangroveai.execution.evaluate()` — the agent does **not** re-implement signal logic, risk gates, position sizing, or cooldowns. It orchestrates: fetch strategy → call SDK → dispatch returned `OrderIntent[]` to the executor → log. For live trades the agent decrypts your wallet's secret in-process, signs the unsigned transaction returned by `mangrovemarkets`, broadcasts the signed bytes, and zeroes the secret. The SDK never sees your key. --- ## Architecture docs

Signals

`list_signals`

Tool

Install

Logs

`list_evaluations`, `list_trades`, `list_all_trades`

DEX

`list_dex_venues`, `get_swap_quote`, `execute_swap`