Blame
|
1 | --- |
||||||
| 2 | category: event |
|||||||
| 3 | tags: [deployment, phase-1, mcp] |
|||||||
| 4 | last_updated: 2026-03-13 |
|||||||
| 5 | --- |
|||||||
| 6 | ||||||||
| 7 | # Phase 1 Deployment — 2026-03-13 |
|||||||
| 8 | ||||||||
| 9 | ## Summary |
|||||||
| 10 | ||||||||
| 11 | Deployed latest wikibot-io code to AWS. All 15 E2E tests pass, including MCP bearer token auth (previously xfail). |
|||||||
| 12 | ||||||||
| 13 | ## Deploy Details |
|||||||
| 14 | ||||||||
| 15 | - **Pulumi stack**: `dev` — 2 Lambda functions updated, 3 unused DynamoDB tables deleted |
|||||||
| 16 | - **otterwiki-fn**: Repackaged with otterwiki 2.17.3, otterwiki-api 0.1.0, otterwiki-semantic-search 0.2.0 |
|||||||
| 17 | - **mcp-server-fn**: Repackaged with fastmcp 3.1.0, mangum 0.21.0 |
|||||||
| 18 | - **Duration**: 58s |
|||||||
| 19 | ||||||||
| 20 | ## E2E Test Results |
|||||||
| 21 | ||||||||
| 22 | 15/15 passed: |
|||||||
| 23 | ||||||||
| 24 | | Component | Tests | Status | |
|||||||
| 25 | |-----------|-------|--------| |
|||||||
| 26 | | Otterwiki Web UI | homepage, health | Pass | |
|||||||
| 27 | | REST API | CRUD cycle, auth, list, search, changelog | Pass | |
|||||||
| 28 | | Semantic Search | search, reindex, chroma-status | Pass | |
|||||||
| 29 | | MCP Server | initialize, tools/list, auth-required | Pass | |
|||||||
| 30 | | Custom Domain + TLS | cert, domain resolution | Pass | |
|||||||
| 31 | ||||||||
| 32 | ## Changes Made |
|||||||
| 33 | ||||||||
| 34 | - Removed `@pytest.mark.xfail` decorators from `test_mcp_initialize` and `test_mcp_tools_list` — bearer token auth now deployed and working |
|||||||
| 35 | - Added `Accept: application/json` header to MCP test client — required by FastMCP 3.x Streamable HTTP transport (returns 406 without it) |
|||||||
| 36 | ||||||||
| 37 | ## Notes |
|||||||
| 38 | ||||||||
| 39 | - MCP auth test (`test_mcp_auth_required`) confirms unauthenticated requests get rejected |
|||||||
| 40 | - MCP tools/list confirms all 12 expected tools are registered |
|||||||