A Model Context Protocol (MCP) server for Agileday.
This server bridges Agileday's competence and employee data with LLMs (like Claude Desktop or Cursor). It allows you to ask natural language questions about your organization's skills, find experts, and explore competence profiles.
This server implements the following tools:
- find_experts_with_skill
- Query: "Who knows React?"
- Action: Searches for employees who possess a specific skill and returns their proficiency levels.
- get_employee_competence_profile
- Query: "What are Jane Doe's top skills?"
- Action: Retrieves a full list of skills, proficiency levels, and motivation for a specific employee.
- list_organization_skills
- Query: "What skills do we have in the organization?"
- Action: Retrieves the full taxonomy of skills available in your Agileday workspace, grouped by category. This helps the AI understand exactly which terms to search for and avoids guessing.
You need the following environment variables to run the server:
| Variable | Description | Example |
|---|---|---|
AGILEDAY_TENANT_ID |
Your company slug (subdomain). | acme (for acme.agileday.io) |
AGILEDAY_API_TOKEN |
Your API Bearer token. | eyJhbGciOi... |
The easiest way to run the server is using the pre-built Docker image from the GitHub Container Registry.
Add this configuration to your claude_desktop_config.json:
{
"mcpServers": {
"agileday": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e", "AGILEDAY_TENANT_ID=your_tenant_id",
"-e", "AGILEDAY_API_TOKEN=your_api_token",
"ghcr.io/eficode/mcp-agileday:latest"
]
}
}
}-
Clone the repository:
git clone [https://github.com/yourusername/agileday-mcp-server.git](https://github.com/yourusername/agileday-mcp-server.git) cd agileday-mcp-server -
Build the image:
docker build -t agileday-mcp-server . -
Configure Claude Desktop: Add the following to your
claude_desktop_config.json(usually located at~/Library/Application Support/Claude/on macOS or%APPDATA%\Claude\on Windows).{ "mcpServers": { "agileday": { "command": "docker", "args": [ "run", "-i", "--rm", "-e", "AGILEDAY_TENANT_ID=your_tenant_id", "-e", "AGILEDAY_API_TOKEN=your_api_token", "agileday-mcp-server" ] } } } -
Restart Claude Desktop.
-
Clone the repository and install dependencies:
git clone [https://github.com/yourusername/agileday-mcp-server.git](https://github.com/yourusername/agileday-mcp-server.git) cd agileday-mcp-server pip install -r requirements.txt -
Configure Claude Desktop: Update your
claude_desktop_config.jsonto point to the python script:{ "mcpServers": { "agileday": { "command": "python3", "args": ["/absolute/path/to/agileday_server.py"], "env": { "AGILEDAY_TENANT_ID": "your_tenant_id", "AGILEDAY_API_TOKEN": "your_api_token" } } } }
To deploy this as a standalone service (e.g., for remote access or clients that support HTTP transport), use the http transport mode.
```bash
docker run -d \
-p 8000:8000 \
-e AGILEDAY_TENANT_ID=your_tenant \
-e AGILEDAY_API_TOKEN=your_token \
ghcr.io/eficode/mcp-agileday:latest \
--transport http
```
The server will be available at:
Universal Endpoint: http://localhost:8000/mcp (Supports both SSE stream and POST messages)
Health Check: http://localhost:8000/health
Once connected, you can ask Claude questions like:
- "Who are the experts in Python at our company?"
- "Find me someone who knows Service Design and has a high proficiency."
- "What is Jane Doe's competence profile?"
- "Do we have enough people with Kubernetes skills?"
- API Tokens: Never commit your
AGILEDAY_API_TOKENto version control. Always pass it via environment variables or your local config file. - ReadOnly Access: It is recommended to use an API token with read-only permissions if possible, as this tool only fetches data.
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository.
- Create your feature branch (
git checkout -b feature/AmazingFeature). - Commit your changes (
git commit -m 'Add some AmazingFeature'). - Push to the branch (
git push origin feature/AmazingFeature). - Open a Pull Request.
This project is licensed under the MIT License - see the LICENSE file for details.