Skip to content

v2.3.0 — The Agent as a Tool

Latest

Choose a tag to compare

@charlesaspe charlesaspe released this 30 Jul 15:33
8dd5719

NetCopilot's MCP server now offers two pure surfaces, chosen at startup
with MCP_SURFACE and never mixed:

  • full (default) — every registry tool, byte-identical to v2.2.0.
    Nothing added, nothing renamed, zero breaking: existing clients see
    exactly what they saw yesterday.
  • ask — a single tool, ask_netcopilot(question, site?), that runs
    NetCopilot's COMPLETE internal agent server-side (deterministic routing,
    the whole toolset, the eval-guarded answer quality) and returns the
    grounded answer plus which tools it used (structuredContent = {status, tools_used}). About 100 schema tokens in the client's context
    instead of ~5,500. Expect 10-60 s per call: a full agent conversation
    runs behind it.

Why: measured in the v2.2.0 study, an external client used to pay the full
schema cost every turn while none of the internal routing/eval quality
traveled the wire. Now delegating clients get the expert; composing clients
keep the full atomic registry. Precedent: Sentry's use_sentry.

Also in this release:

  • Errors are honest MCP citizens: provider down, loop errors, empty answers
    and a 170 s hang guard all map to isError with real messages; the
    server boots and lists tools with no LLM configured.
  • Era-agnostic fastmcp import (public fastmcp.tools path) — verified on
    fastmcp 3.2.4 and 4.0.0b1.
  • Gateway docs updated: the "structured results travel direct-only"
    limitation is gone since gridctl v0.1.0-beta.14 (the upstream fix we
    contributed, gridctl#849, verified end-to-end), and tool groups
    (beta.15+) are documented as the per-client curation axis.

Suite: 1449 passed (9 new tests, also green on fastmcp 4.0.0b1).