ActTrace MCP server
✓ VerifiedClassifies AI features under the EU AI Act and generates Article 50 transparency notices for non-financial technology companies.
Also known as goww7/acttrace, acttrace-mcp
- Stars
- 1
- Tools
- —
- Downloads, 30 days
- 95
- Latest version
- 0.1.0
- Last commit
- May 20, 2026
- License
- Apache-2.0
What is ActTrace MCP?
ActTrace classifies AI features under the EU AI Act and generates Article 50 transparency notices for non-financial technology companies.
Summary generated from the project's README
About ActTrace MCP server
ActTrace provides an automated workflow for non-financial technology companies to manage EU AI Act compliance. Engineering teams can use this tool to obtain deterministic risk classifications for specific AI features and generate ready-to-ship Article 50 transparency notices. The service is designed specifically for SaaS and technology sectors, meaning it deliberately classifies financial services like banking or credit scoring as out of scope.
Developers can interact with the system through a local MCP server run via uvx or as a Claude Code plugin. The MCP server operates as an offline rules engine that requires no API key for local use, while the full API requires an X-API-Key for authenticated requests. The system includes a free diagnostic endpoint that does not require authentication, allowing teams to test their features before committing to the classification or notice generation tools.
What you can do with it
- 1Determine AI risk levelsAsk the AI to classify whether a specific chatbot feature falls under certain EU AI Act risk categories.
- 2Draft transparency documentationRequest the generation of a plain-language Article 50 notice for a support assistant tool.
- 3Perform initial compliance checksRun a free diagnostic on a new AI feature to see how it might be categorized without using an API key.
Written from the project's README. Every use case is checked against a quote from it.
How to install ActTrace MCP
Formats verified 10 Nov 2026Add to CursorAdd to GooseInstall ActTrace MCP in Claude Code
$ claude mcp add acttrace -- uvx acttrace-mcpInstall ActTrace MCP in Cursor
~/.cursor/mcp.json
{
"mcpServers": {
"acttrace": {
"command": "uvx",
"args": [
"acttrace-mcp"
]
}
}
}Install ActTrace MCP in VS Code
.vscode/mcp.json
{
"servers": {
"acttrace": {
"type": "stdio",
"command": "uvx",
"args": [
"acttrace-mcp"
]
}
}
}Install ActTrace MCP in VS Code CLI
$ code --add-mcp '{"name":"acttrace","type":"stdio","command":"uvx","args":["acttrace-mcp"]}'Install ActTrace MCP in Claude Desktop
claude_desktop_config.json
{
"mcpServers": {
"acttrace": {
"command": "uvx",
"args": [
"acttrace-mcp"
]
}
}
}Install ActTrace MCP in Codex
$ codex mcp add acttrace -- uvx acttrace-mcpInstall ActTrace MCP in Codex config.toml
~/.codex/config.toml
[mcp_servers.acttrace] command = "uvx" args = ["acttrace-mcp"]
Install ActTrace MCP in Gemini CLI
$ gemini mcp add -s user acttrace uvx -- acttrace-mcpInstall ActTrace MCP in Gemini settings.json
~/.gemini/settings.json
{
"mcpServers": {
"acttrace": {
"command": "uvx",
"args": [
"acttrace-mcp"
]
}
}
}Automated checks
Ran Nov 15, 2026Full report →Passed our automated checks. That is not a security audit: read the code and give the server the narrowest access it needs. How checks work
- Source repository linked and reachablegoww7/acttrace is public and reachablegithub.com/goww7/acttrace ↗Pass
- Package names this repository as its sourceacttrace-mcp names goww7/acttrace as sourcepypi.org/project/acttrace-mcp/ ↗Pass
- Build provenance (Sigstore attestation)No build attestation published for this releaseNot checked
- Open source license (OSI)Apache-2.0spdx.org/licenses/Apache-2.0.html ↗Pass
- Commit or release in the last yearLast commit or release 2026-05-20github.com/goww7/acttrace ↗Pass
- OpenSSF ScorecardNot checked
- Package name not close to a popular packageNo popular package one edit away from acttrace-mcpPass
- No critical advisory in the package or its dependencies41 resolved dependencies checked; no critical advisoryosv.dev ↗Pass
- No hidden instructions to the model0 tool descriptions and the README read; no override phrases, credential paths or hidden charactersPass
- Destructive tools are labelledNot checked
- Remote endpoint answers the MCP handshakeNot checked
README
View on GitHubActTrace
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:
- A deterministic risk classification of an AI feature under the EU AI Act.
- A ready-to-ship Article 50 transparency notice.
- 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
python3 -m venv .venv && .venv/bin/pip install -r requirements.txt
.venv/bin/uvicorn acttrace.app:app --reload --port 8080
# 1. Free diagnostic — no key needed
curl -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 key
KEY=$(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 & path | Auth | Tokens | Purpose |
|---|---|---|---|
POST /api/acttrace/diagnostics/free |
none | 0 | Public risk diagnostic |
POST /api/acttrace/classify |
key | 15 | Documented risk classification |
POST /api/acttrace/notices |
key | 10 | Article 50 transparency notice |
POST /api/keys/generate |
none | 0 | Issue a free-plan key |
GET /api/health |
none | 0 | Liveness |
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
.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.py
skill/acttrace/ SKILL.md README.md
tests/
ActTrace MCP questions
How do I add ActTrace MCP to Claude Code?
Run claude mcp add acttrace -- uvx acttrace-mcp in your terminal. Add --scope user to make it available in every project.
How do I add ActTrace MCP to Cursor?
Open ~/.cursor/mcp.json and add the server under mcpServers, using the Cursor config shown in the install section above.
Does ActTrace provide legal advice?
No, ActTrace provides operational compliance workflow support and documentation drafts, but it does not provide legal advice or certify compliance.
Is ActTrace suitable for financial services?
No, ActTrace is specifically scoped for non-financial companies; financial use cases are deliberately classified as out of scope.
How can I use ActTrace with Claude?
You can use it as a Claude Code plugin or via a local MCP server run with uvx.