Fixes a fresh-install failure of the MCP server, plus node-id portability, cache, bedrock, and merge-graphs fixes.
Install
- Pin
mcpbelow 2.0 so a freshgraphifyy[mcp]/graphifyy[all]install works again (#2277, #2279, #2291).mcp2.0.0 dropped themcp.types.AnyUrlre-export and theServerdecorator-registration API thatgraphify/serve.pyuses, so an unpinned resolve brokegraphify-mcpon every new install with anImportError. Themcpandallextras now requiremcp>=1,<2(resolving to 1.29.0) andstarlette>=1.3.1,<2. Porting to the mcp 2.x API is tracked in #2308.
Node-id portability
- TypeScript
.tsxfiles no longer leak absolute-path / machine-slug ids into edge endpoints (#2262). The symbol-resolution pass parsed.tsxwith the plain TypeScript grammar; JSX misparsed, nested handlers floated to top level, andcallsedges were emitted from an absolute-stem source with no node..tsxnow uses the TSX grammar, acallsedge is never emitted from an unowned source, and a general backstop canonicalizes any node-less absolute-derived endpoint. - A warm AST-cache hit after a corpus move or clone no longer replays node ids minted under the original root (#2257, thanks @Kaushik2003). Cached ids are stored root-relative and re-anchored on read.
Backends / graph ops
- The Bedrock backend reads the first text block of a Converse response instead of block 0, so reasoning-capable models no longer parse to zero nodes (#2287, thanks @zhiyanliu).
- The Bedrock backend honors
GRAPHIFY_API_TIMEOUTandGRAPHIFY_MAX_RETRIESinstead of botocore's silent 60s default (#2284, thanks @zhiyanliu). merge-graphspreserves edge direction instead of rewiring import edges to the importing file (#2261, thanks @hopstreax).- The MCP server's multi-project graph-context cache is bounded (LRU, default 8 via
GRAPHIFY_MAX_CONTEXTS) instead of growing unbounded (#2268, thanks @Kkartik14).