ActTrace

io.github.goww7Published by GitHub account goww7v0.1.0Updated Oct 24, 2026

Classify AI systems under the EU AI Act and generate Article 50 transparency notices.

The publisher's own server: Halal Terminal

VerifiedSTDIODesktop onlyDeveloper ToolsSecurity & Monitoring

Overview

AI-generated overview

ActTrace is a local MCP server that classifies AI features under the EU AI Act and drafts Article 50 transparency notices for developers.

What you can do
Classify an AI feature's risk level under the EU AI Act with a deterministic rules engine, via the acttrace_classify tool or the classify endpoint, which returns a documented classification and a free diagnostic entry point is also available without a key. Generate a ready-to-ship Article 50 transparency notice for a named AI system, choosing notice type and tone, via the acttrace_generate_transparency_notice tool or the notices endpoint. Every response carries a not-legal-advice disclaimer, and financial-services use cases are deliberately marked out of scope.
When to use it
Useful for engineering teams at non-financial SaaS or technology companies that need a quick, repeatable first pass on how an AI feature maps to EU AI Act risk categories and need a draft transparency notice to start from. It is a workflow aid, not a substitute for qualified legal review.
Requirements
Runs locally as a Python package via uvx (acttrace-mcp) over stdio, or as a Claude Code plugin; the README also describes running the API server with uvicorn and Docker. The README says the MCP server is offline and needs no API key, while the HTTP endpoints use an X-API-Key header and token charges.
Before you install
Output is explicitly not legal advice and does not certify compliance; treat classifications and notices as drafts requiring counsel review. The README describes API-key issuance and token charges on the HTTP endpoints, and financial-services use cases are out of scope. The manifest declares no authentication or environment variables, which differs from the README's X-API-Key description.

Installation

In SourceWeft

  1. Open ActTrace in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

ActTrace

A developer-facing EU AI Act compliance API for non-financial SaaS and technology companies. ActTrace gives an engineering team three things, self-serve, over an API or via MCP:

  1. A deterministic risk classification of an AI feature under the EU AI Act.
  2. A ready-to-ship Article 50 transparency notice.
  3. A free diagnostic as the public entry point.

Not legal advice. ActTrace provides operational compliance workflow support and documentation drafts. It does not provide legal advice, does not certify compliance, and does not replace review by qualified counsel. Every response carries this disclaimer.

ActTrace is scoped for non-financial companies. Financial-services use cases (banking, trading, portfolio/investment advice, credit scoring, …) are deliberately classified out_of_scope_financial_services.

Install — Claude Code plugin / MCP server

ActTrace ships as a Claude Code plugin: an acttrace skill plus a local MCP server. The MCP server runs via uvx — a deterministic rules engine, offline, no API key.

/plugin marketplace add goww7/acttrace/plugin install acttrace@acttrace

Then ask Claude "Is my chatbot EU AI Act compliant?" or "Write an Article 50 notice for our support assistant." The MCP server also runs standalone with any MCP client: uvx acttrace-mcp.

Quickstart

bash
python3 -m venv .venv && .venv/bin/pip install -r requirements.txt.venv/bin/uvicorn acttrace.app:app --reload --port 8080
bash
# 1. Free diagnostic — no key neededcurl -s localhost:8080/api/acttrace/diagnostics/free -H 'content-type: application/json' -d '{  "feature_name": "AI reply assistant",  "description": "Drafts suggested customer support replies for agents.",  "user_facing": true, "model_provider": "OpenAI", "use_case": "support_assist"}'
# 2. Mint an API keyKEY=$(curl -s -XPOST localhost:8080/api/keys/generate | python3 -c 'import sys,json;print(json.load(sys.stdin)["api_key"])')
# 3. Classify (15 tokens)curl -s localhost:8080/api/acttrace/classify -H "X-API-Key: $KEY" -H 'content-type: application/json' -d '{  "feature_name": "AI reply assistant",  "description": "Drafts customer support replies shown to agents.",  "use_case": "support_assist", "user_facing": true, "model_provider": "OpenAI"}'
# 4. Generate an Article 50 notice (10 tokens)curl -s localhost:8080/api/acttrace/notices -H "X-API-Key: $KEY" -H 'content-type: application/json' -d '{  "ai_system_name": "Support Copilot", "notice_type": "chatbot", "tone": "plain"}'

Endpoints

Method & pathAuthTokensPurpose
POST /api/acttrace/diagnostics/freenone0Public risk diagnostic
POST /api/acttrace/classifykey15Documented risk classification
POST /api/acttrace/noticeskey10Article 50 transparency notice
POST /api/keys/generatenone0Issue a free-plan key
GET /api/healthnone0Liveness

Auth is X-API-Key. Responses carry X-Request-ID, X-Plan, X-Tokens-Charged, X-Tokens-Remaining, X-RateLimit-*. Errors are structured {"code","message","detail"} (401/403/429).

MCP

python -m acttrace.mcp_server --sse --port 8002 exposes two tools — acttrace_classify and acttrace_generate_transparency_notice — authenticated with the same X-API-Key. A Claude Code skill is in skill/acttrace/.

Tests

bash
.venv/bin/python -m pytest -q

54 tests: classification engine (7 acceptance fixtures), conflict guard, notice generator, and HTTP API contract.

Deploy

docker-compose.yml builds a standalone two-container stack (API + MCP) on ports 8080 / 8002 with its own volume — isolated from FinanceData2. To go live, append caddy-acttrace.snippet to the shared Caddyfile (replace the placeholder domain). See BLUEPRINT.md for the full build contract.

Layout

acttrace/  app.py config.py dependencies.py  middleware/   api_key_auth.py  routers/      acttrace.py  keys.py  services/     acttrace_service.py  acttrace_classification_service.py                acttrace_notice_service.py  acttrace_constants.py                api_key_service.py  repositories/ acttrace_repository.py  api_key_repository.py  schemas/      acttrace.py  mcp_server/   server.py  __main__.py  context.py  tools/acttrace.pyskill/acttrace/ SKILL.md  README.mdtests/

Source: README.md at commit 7ddd518

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  1. v0.1.0LatestSep 16, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts

Other Halalterminal integrations