taTanStack
GitHubaiWorkspace
GitHub
  • CI Pipeline Executions
    • Current executionSucceeded
      feat/mcp-tool-annotations
    • Runs and Agents
    • TimelineBeta
    • Configuration
    • Self-Healing CI
    • Project Graph
    • Circular DependenciesEnterprise
    • Resource Usage
    • Analysis
    • ConformanceEnterprise
  • Runs
    • Current runSucceeded
    • Tasks
    • Resource Usage
Insights
  • Compare tasks
  • Analytics
    feat(ai-mcp): type metadata.mcp on the tools() return type `ServerTool.metadata` is `Record<string, any> | undefined`, so `tool.metadata.mcp` did not compile and its fields were `any` — reading the forwarded MCP title/annotations needed a hand-written annotation that TS could not check. Every `tools()` path (single client, explicit `tools([...defs])`, and the `createMCPClients` pool) now returns `McpServerTool`s: structurally still `ServerTool`s, but with `metadata.mcp` statically present and typed as `McpToolMetadata`. So `tool.metadata.mcp.annotations?.readOnlyHint` infers on its own and a misspelled field is a compile error. - `McpToolMetadata.serverToolName` / `.title` are now required, since both are always stamped — no more fallback for a value that is never missing. - The explicit path rebuilds the bound tool instead of mutating it, because assigning `metadata` cannot narrow the declared type. - Docs, tests, and the e2e route drop their annotations and read straight through; new type-level tests cover all four paths plus the typo case.
    nx run-many --targets=build --exclude=examples/**,testing/**
Succeeded
Linux
4 CPU cores
ae411b7c1031
98%

Cache hits

51 of 52 tasks used cache.

Get faster results

Learn how to enable distribution.

Atomizer enabled

52 groups of tasks optimized.

© 2026 - Nx Cloud

Terms of ServicePrivacy PolicyChangelogStatusDocsContact Nx CloudPricingCompany@NxDevTools
GitHubaiWorkspace