QONTO-WP-0003-T01: MCP adapter skeleton on shared capability core
Add a streamable-HTTP MCP adapter (mcp_server.py, official FastMCP SDK) mounted at /mcp in the existing FastAPI app, with a combined lifespan so the MCP session manager starts/stops with the service. Ships one smoke tool (qonto_ping, no bank call) — real capability tools land in T02. Prove REST and MCP hit the identical policy path: PolicyEngine.decide() never branches on request.protocol, verified by a parametrized test. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
parent
dc3431cda0
commit
d4656be310
6 changed files with 133 additions and 10 deletions
|
|
@ -13,6 +13,7 @@ authors = [{ name = "Coulomb" }]
|
|||
dependencies = [
|
||||
"fastapi>=0.115,<1.0",
|
||||
"httpx>=0.27,<1.0",
|
||||
"mcp>=1.9,<2.0",
|
||||
"PyYAML>=6.0,<7.0",
|
||||
"uvicorn[standard]>=0.30,<1.0",
|
||||
]
|
||||
|
|
@ -20,6 +21,7 @@ dependencies = [
|
|||
[project.optional-dependencies]
|
||||
dev = [
|
||||
"pytest>=8.2,<9.0",
|
||||
"pytest-asyncio>=0.24,<1.0",
|
||||
"ruff>=0.6,<1.0",
|
||||
]
|
||||
|
||||
|
|
@ -39,6 +41,7 @@ addopts = [
|
|||
"--disable-warnings",
|
||||
"--tb=short",
|
||||
]
|
||||
asyncio_mode = "auto"
|
||||
|
||||
[tool.ruff]
|
||||
line-length = 100
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue