Files
AWatch-rus/detmir-mcp
dependabot[bot]andGitHub 6ed568870b
CI / Rust checks (push) Canceled after 0s
CI / Docs and registry checks (push) Canceled after 0s
CI / Smoke checks (push) Canceled after 0s
Coverage / Coverage baseline (push) Canceled after 0s
Security / Cargo audit (push) Canceled after 0s
Security / Cargo deny (push) Canceled after 0s
Security / Secret pattern check (push) Canceled after 0s
Security / Dependency review (push) Canceled after 0s
chore(deps): bump python-multipart from 0.0.29 to 0.0.31 in /detmir-mcp
Bumps [python-multipart](https://github.com/Kludex/python-multipart) from 0.0.29 to 0.0.31.
- [Release notes](https://github.com/Kludex/python-multipart/releases)
- [Changelog](https://github.com/Kludex/python-multipart/blob/main/CHANGELOG.md)
- [Commits](https://github.com/Kludex/python-multipart/compare/0.0.29...0.0.31)

---
updated-dependencies:
- dependency-name: python-multipart
  dependency-version: 0.0.31
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-07-01 13:35:46 +00:00
..

DetMir MCP

Read-only MCP facade over the DetMir operational surfaces that usually regress under load:

  • ActivityWatch core
  • worktime API
  • DLP policy and case services
  • Grafana health
  • 1C manager brief

This server exists to give mcpdrill a stable MCP target for reproducing timeout, saturation, stale-status, and mixed-read operator-path failures.

Tools

  • aw_health_summary
  • worktime_today
  • worktime_management
  • dlp_mode_get
  • dlp_health_summary
  • grafana_overview
  • onec_manager_brief

All tools are read-only.

Run

cd /mnt/usb_hdd2/Projects/ActivityWatch-Russian/detmir-mcp
cp .env.example .env
sh run-local.sh

Default transport is stdio.

Run for mcpdrill

mcpdrill wants HTTP, not stdio. Start the server like this:

cd /mnt/usb_hdd2/Projects/ActivityWatch-Russian/detmir-mcp
export DETMIR_MCP_TRANSPORT=streamable-http
export DETMIR_MCP_HOST=0.0.0.0
export DETMIR_MCP_PORT=8765
export DETMIR_MCP_STATELESS_HTTP=0
sh run-local.sh

Endpoint:

http://<reachable-host-ip>:8765/mcp

Do not use 127.0.0.1 inside mcpdrill target configs; use a host/IP reachable from the Docker worker.

run-local.sh intentionally keeps the uv environment outside the repository tree. This machine stores the repo on a mounted filesystem where .venv creation inside the project is not reliable.

Example config:

Quick checks

Tool list:

curl -sS http://127.0.0.1:8765/mcp \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'

Example tool call:

curl -sS http://127.0.0.1:8765/mcp \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"dlp_mode_get","arguments":{}}}'

What to stress first

  • worktime_today + worktime_management to reproduce 5610 contention.
  • dlp_mode_get + dlp_health_summary to expose stale policy/status views.
  • grafana_overview + onec_manager_brief to check adjacent operator dependencies.
  • Mixed runs across all tools to reproduce operator-path degradation.