AIMCP
Discovers tools.json files from GitLab repositories and dynamically generates MCP tools from their specifications, enabling teams to distribute MCP tools to IDEs like Cursor and VS Code.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@AIMCPlist all available tools from my GitLab repositories"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
AIMCP
AIMCP is an MCP (Model Context Protocol) server that enables teams to distribute MCP tool specifications from GitLab repositories to IDEs like Cursor and VS Code. The server discovers tools.json files in repositories, dynamically generates MCP tools from their specifications, and serves referenced files as resources through a secure URI scheme.
Features
GitLab Integration: Automatically discovers and fetches
tools.jsonfiles from configured repositoriesDynamic Tool Generation: Creates MCP tools from specifications at runtime
Secure Resource Access: Serves repository files via
aimcp://URI scheme with access controlDual Caching: Caches both tool specifications and file content for optimal performance
Conflict Resolution: Handles duplicate tool names across repositories with configurable strategies
Async Architecture: Built on
fastmcpfor high-performance async operations
Installation
pip install aimcpQuick Start
Create a configuration file
config.yaml:
gitlab:
base_url: "https://gitlab.example.com"
token: "your-gitlab-token"
repositories:
- path: "team/tools-repo"
branch: "main"
cache:
type: "memory"
ttl: 3600
conflict_resolution: "prefix"Run the server:
aimcpConnect your IDE to the MCP server at the configured endpoint.
Tool Specifications
Each repository must contain a tools.json file following the MCP specification. Example:
{
"tools": [
{
"name": "analyze_code",
"description": "Analyze code quality and suggest improvements",
"resourceRefs": ["analyzer_script", "analyzer_rules"]
}
}
],
"resources": [
{
"name": "analyzer_script",
"uri": "scripts/analyze.py",
},
{
"name": "analyzer_rules",
"uri": "configs/rules.yaml"
}
]
}Configuration
Conflict Resolution Strategies
prefix: Add repository prefix to tool names (repo1_toolname,repo2_toolname)priority: First repository in configuration order winserror: Fail startup with detailed conflict reportmerge: Combine tool descriptions and resource lists
Cache Options
memory: In-memory caching (default)redis: Redis-backed caching for distributed setups (not implemented)
Development
Prerequisites
Python 3.13+
uv (recommended package manager)
Setup
# Clone the repository
git clone https://github.com/yourusername/aimcp.git
cd aimcp
# Install dependencies
uv sync --dev
# Run tests
uv run pytest
# Run linting
uv run ruff check .
# Run type checking
uv run mypy .License
This project is licensed under the MIT License - see the LICENSE file for details.
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
Vibe coding product
Generated with Claude
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/junqed/aimcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server