AIDA MCP server - Developer actions (lint, test, typecheck) for monorepos
Project description
AIDA MCP
AIDA (AI Developer Assistant) is an MCP server that gives your AI coding assistant repository-specific rules, automated validation, and Git workflow guardrails — across any MCP-compatible tool.
Instead of maintaining separate prompt files for each tool (.cursorrules, CLAUDE.md, copilot-instructions.md), you configure behavior once in .aida/ and every assistant picks it up.
Why AIDA
Context engineering, automated. AIDA doesn't dump a flat file into the context window. It dynamically selects only the rules relevant to the current task using hybrid scoring (lexical + semantic). Session memory tracks what the AI already received — subsequent calls return only deltas. Your context stays lean even as your rule library grows.
Validation before commit. Rules can only suggest — LLMs still hallucinate. AIDA routes changed files to the right linters, formatters, and tests automatically, before commit. The AI gets filtered feedback and can self-correct on the spot.
Git workflow guardrails. Enforces commit message format, required metadata (risk level, ticket reference), and PR templates. Handles PR review threads. Your team's conventions are enforced, not just documented.
Works with every MCP-compatible tool. Cursor, Claude Code, OpenAI Codex, JetBrains AI Chat, and Junie. One configuration, every assistant.
Install
uv tool install aida-mcp # recommended
pip install aida-mcp # alternative
Requires Python 3.12+ (< 3.15) and an MCP-compatible AI tool.
Quick Start
Your repo already has .aida/ configured
Install aida-mcp and reload your AI tool. The MCP wiring in the repo connects your assistant to AIDA automatically.
Setting up a new repo
cd /path/to/your/repo
aida-mcp init
This creates:
.aida/— rules, validation config, git policy, templates- MCP wiring files (
.mcp.json,.cursor/mcp.json, etc.)
Commit the result and reload your AI tool.
What gets configured
All configuration lives in .aida/ and is version-controlled:
| File | Purpose |
|---|---|
rules/ |
Project-specific rules in .mdc format |
rules_selection.yaml |
Enable/disable embedded profiles (Python, Kotlin, Spring Boot, GitHub workflows, etc.) |
change_domains.yaml |
Map file paths to logical domains (e.g., services/**/*.py -> python_service) |
validation_policy.yaml |
Route domains to validation pipelines |
validation_registry.yaml |
Define validation commands, working dirs, timeouts |
git_policy.yaml |
Commit/PR policies — subject length, required trailers, templates |
templates/ |
Commit message and PR body templates |
preferences.yaml |
Team defaults for validation and commit behavior |
Developer preferences
Developers can override team defaults in .aida/preferences.local.yaml (gitignored):
preferences:
validation:
pre_commit: ask # auto | ask | disabled
commit:
mode: ask # auto | ask | disabled
Native mode (no MCP server)
For teams not yet running MCP, export rules as static files:
aida-mcp rules export
This writes self-contained rule files for each tool (.claude/CLAUDE.md, .cursor/rules/aida.mdc, etc.). Re-run after config changes. aida-mcp doctor warns when exports are stale.
CLI reference
| Command | Purpose |
|---|---|
aida-mcp init |
Bootstrap AIDA in a repository |
aida-mcp doctor |
Check repository health (--auto-fix to repair) |
aida-mcp migrate |
Upgrade from older AIDA layout |
aida-mcp validate --scope pre_commit |
Run validation on changed files |
aida-mcp commit --type feat --title "..." |
Policy-compliant commit |
aida-mcp rules export |
Export static native rule files |
aida-mcp install-mcp --target claude |
Install/refresh MCP wiring for a specific tool |
JetBrains / Junie setup
These require global MCP installation:
aida-mcp install-mcp --global --target jetbrains
aida-mcp install-mcp --global --target junie
Feedback
We'd love to hear how AIDA works for your team. If something is missing, broken, or could be better — let us know on our Slack community.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file aida_mcp-0.9.0.tar.gz.
File metadata
- Download URL: aida_mcp-0.9.0.tar.gz
- Upload date:
- Size: 150.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
900c013db5a84a6df5291fc937228011beaf98f16d12590fd57e49c8dce13b32
|
|
| MD5 |
665c7f7a208bdc080b6a88db447d52df
|
|
| BLAKE2b-256 |
b6593e36aa59209cd7d96b13622ce4580f9492e2ddacba07d8498f5f388b2227
|
Provenance
The following attestation bundles were made for aida_mcp-0.9.0.tar.gz:
Publisher:
python-release.yaml on gooddata/gdc-aida
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
aida_mcp-0.9.0.tar.gz -
Subject digest:
900c013db5a84a6df5291fc937228011beaf98f16d12590fd57e49c8dce13b32 - Sigstore transparency entry: 1188976436
- Sigstore integration time:
-
Permalink:
gooddata/gdc-aida@ab0977ca8ba9a998cea64cc5dde3debd6e720801 -
Branch / Tag:
refs/tags/v0.9.0 - Owner: https://github.com/gooddata
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-release.yaml@ab0977ca8ba9a998cea64cc5dde3debd6e720801 -
Trigger Event:
push
-
Statement type:
File details
Details for the file aida_mcp-0.9.0-py3-none-any.whl.
File metadata
- Download URL: aida_mcp-0.9.0-py3-none-any.whl
- Upload date:
- Size: 224.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5077aede6f10974924763214178450a78813d72e7b8769405ff5e72fcaca0ed7
|
|
| MD5 |
12027abb1a3fbb4d10b7a6198d35ebeb
|
|
| BLAKE2b-256 |
ce004b334a5bb6ef68bb4348dfd723f0e24a62d673b613d4914834a1512dfd86
|
Provenance
The following attestation bundles were made for aida_mcp-0.9.0-py3-none-any.whl:
Publisher:
python-release.yaml on gooddata/gdc-aida
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
aida_mcp-0.9.0-py3-none-any.whl -
Subject digest:
5077aede6f10974924763214178450a78813d72e7b8769405ff5e72fcaca0ed7 - Sigstore transparency entry: 1188976441
- Sigstore integration time:
-
Permalink:
gooddata/gdc-aida@ab0977ca8ba9a998cea64cc5dde3debd6e720801 -
Branch / Tag:
refs/tags/v0.9.0 - Owner: https://github.com/gooddata
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-release.yaml@ab0977ca8ba9a998cea64cc5dde3debd6e720801 -
Trigger Event:
push
-
Statement type: