Server data from the Official MCP Registry
Structured execution trace and span logging for AI agents
Structured execution trace and span logging for AI agents
trace-forge-mcp is a write-path observability MCP server for EU AI Act compliance with a clean, focused purpose. The codebase uses standard MCP patterns with proper dependency management (zod for validation, better-sqlite3 for persistence). No authentication mechanism is implemented, which is appropriate for a local tracing server that relies on the parent process's security model. Minor code quality concerns and lack of explicit input validation documentation prevent a higher score, but permissions align well with the stated purpose. Supply chain analysis found 4 known vulnerabilities in dependencies (0 critical, 3 high severity). Package verification found 1 issue.
4 files analyzed · 9 issues found
Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.
This plugin requests these system permissions. Most are normal for its category.
Add this to your MCP configuration file:
{
"mcpServers": {
"io-github-mdfifty50-boop-trace-forge": {
"args": [
"-y",
"trace-forge-mcp"
],
"command": "npx"
}
}
}From the project's GitHub README.
MCP server for writing structured traces, spans, and decisions. The only write-path observability MCP — all 9 existing observability MCPs are read-only.
Built for EU AI Act traceability compliance (Article 14, due August 2026).
npx trace-forge-mcp
Add to claude_desktop_config.json:
{
"mcpServers": {
"trace-forge": {
"command": "npx",
"args": ["trace-forge-mcp"]
}
}
}
git clone https://github.com/mdfifty50-boop/trace-forge-mcp.git
cd trace-forge-mcp
npm install
node src/index.js
Begin a new trace for an agent task.
| Param | Type | Required | Description |
|---|---|---|---|
agent_id | string | yes | Unique agent identifier |
task_description | string | yes | What the agent is doing |
metadata | object | no | Optional metadata (model, department, priority) |
Returns: { trace_id, started_at }
Create a span within a trace. Spans can be nested via parent_span_id.
| Param | Type | Required | Description |
|---|---|---|---|
trace_id | string | yes | Trace to attach to |
span_name | string | yes | Span name (e.g. "research", "validation") |
parent_span_id | string | no | Parent span for nesting |
metadata | object | no | Optional span metadata |
Returns: { span_id, trace_id }
Log a tool call within a trace. Auto-calculates cost estimate from token count.
| Param | Type | Required | Description |
|---|---|---|---|
trace_id | string | yes | Trace this belongs to |
span_id | string | no | Span this belongs to |
tool_name | string | yes | Tool that was called |
args | object | yes | Arguments passed |
result_preview | string | yes | Result preview (max 500 chars) |
tokens_used | number | no | Token count (enables cost estimation) |
duration_ms | number | yes | Call duration in milliseconds |
status | string | yes | "success", "error", or "timeout" |
Returns: { event_id, logged: true }
Log an agent decision point with reasoning and alternatives considered.
| Param | Type | Required | Description |
|---|---|---|---|
trace_id | string | yes | Trace this belongs to |
reasoning | string | yes | Why the agent made this decision |
alternatives_considered | string[] | yes | Other options evaluated |
chosen_action | string | yes | What was decided |
confidence | number | yes | Confidence 0.0 to 1.0 |
Returns: { event_id, logged: true }
Complete a trace. Auto-calculates total duration, event counts, and span counts.
| Param | Type | Required | Description |
|---|---|---|---|
trace_id | string | yes | Trace to complete |
outcome | string | yes | "success", "failure", "partial", or "timeout" |
summary | string | no | Optional summary |
Returns: { trace_id, duration_ms, events_count, spans_count, tool_calls_count }
Retrieve a complete trace tree with all spans, events, tool calls, and decisions.
| Param | Type | Required | Description |
|---|---|---|---|
trace_id | string | yes | Trace ID to retrieve |
Returns: Full trace object with nested span tree, all events, and computed totals.
Find traces by agent ID and/or status.
| Param | Type | Default | Description |
|---|---|---|---|
agent_id | string | - | Filter by agent |
status | string | - | Filter by status |
limit | number | 20 | Max results (1-100) |
Returns: Matching traces sorted by recency with summary stats.
| URI | Description |
|---|---|
traces://recent | Last 20 traces with summary |
traces://stats | Aggregate statistics (total, avg duration, success rate) |
1. trace_start — when agent begins a task
2. trace_span — create logical work units (research, generation, validation)
3. During execution:
- trace_tool_call — after each tool invocation
- trace_decision — at each decision point
4. trace_end — when task completes
5. get_trace — retrieve full audit trail
6. search_traces — find traces by agent or status
Article 14 of the EU AI Act requires high-risk AI systems to maintain traceability of decisions and actions. trace-forge-mcp provides:
MIT
Be the first to review this server!
by Modelcontextprotocol · Developer Tools
Read, search, and manipulate Git repositories programmatically
by Toleno · Developer Tools
Toleno Network MCP Server — Manage your Toleno mining account with Claude AI using natural language.
by mcp-marketplace · Developer Tools
Create, build, and publish Python MCP servers to PyPI — conversationally.
by Microsoft · Content & Media
Convert files (PDF, Word, Excel, images, audio) to Markdown for LLM consumption
by mcp-marketplace · Developer Tools
Scaffold, build, and publish TypeScript MCP servers to npm — conversationally
by mcp-marketplace · Finance
Free stock data and market news for any MCP-compatible AI assistant.