Skip to content

AI Stack

The AI Stack group surfaces what the agent actually integrated with on each turn - split by integration kind so that "did my sandbox tool work?" and "is my MCP server alive?" never share the same view. Six dashboards.

flowchart LR
    Span["spring.ai.tool<br/>span"]
    Filt["McpToolObservation<br/>Filter"]
    Span --> Filt
    Filt -->|in-process| TS["Tool Studio"]
    Filt -->|stdio · http · sse| MS["MCP Servers"]
    VSpan["db.vector.client<br/>.operation"] --> VD["Vector Database"]
    Prim["MCP primitive<br/>observations"] --> MI["MCP Inspector"]
    Risk["saip.risk.signal +<br/>sandbox / HITL guards"] --> SF["Safety"]
    Trace["TraceRecord stream"] --> Agg["Conversation<br/>Aggregator"]
    Agg --> AC["Agentic Chat"]
    AC -. row click .-> CTD["Conversation<br/>Thread"]

The discriminator that powers the Tool Studio / MCP Servers split is McpToolObservationFilter, an ObservationFilter this project registers. It injects network.transport, saip.mcp.server, and mcp.method.name attributes onto every spring.ai.tool span by looking up the tool's name in McpClientService. See Observability Architecture → Tool and MCP observability for the design rationale.

Pages in this group

  • Tool Studio


    spring.ai.tool spans without mcp.method.name (in-process) + sandbox.guard.blocked counter. In-process tool latency, error rate, sandbox prevention count.

  • MCP Servers


    spring.ai.tool spans with mcp.method.name (external) + OAuth + lifecycle. External MCP latency, transport health, OAuth state.

  • MCP Inspector


    MCP primitive observations - Tools list, Resources read, Prompts get, Sampling, Elicitation, Roots. MCP server introspection traffic and server-initiated handlers.

  • Vector Database


    db.vector.client.operation spans. RAG query rate, top_k distribution, similarity thresholds, multi-DB mix.

  • Agentic Chat


    TraceRecord grouped by conversationId via ConversationAggregator. Per-conversation summaries - message count, cost, multi-turn rate, loop depth.

  • Safety


    saip.risk.signal / saip.tool.risk counters + sandbox, HITL, and tamper signals. MCP risk model (L0–L5) distribution, poisoning hits, integrity tamper rejects, human-approval rate.

Cross-references