# Agileday MCP Server
[](LICENSE)
[](https://www.python.org/downloads/)
[](https://github.com/eficode/mcp-agileday/pkgs/container/mcp-agileday)
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.
## Capabilities
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.
## Configuration
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...` |
## Quick Start (Docker)
The easiest way to run the server is using the pre-built Docker image from the GitHub Container Registry.
### 1. Run with Claude Desktop
Add this configuration to your `claude_desktop_config.json`:
```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"
]
}
}
}
```
### Option 2: Docker
1. **Clone the repository:**
```bash
git clone [https://github.com/yourusername/agileday-mcp-server.git](https://github.com/yourusername/agileday-mcp-server.git)
cd agileday-mcp-server
```
2. **Build the image:**
```bash
docker build -t agileday-mcp-server .
```
3. **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).
```json
{
"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"
]
}
}
}
```
4. **Restart Claude Desktop.**
### Option 3: Local Python
1. **Clone the repository and install dependencies:**
```bash
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
```
2. **Configure Claude Desktop:**
Update your `claude_desktop_config.json` to point to the python script:
```json
{
"mcpServers": {
"agileday": {
"command": "python3",
"args": ["/absolute/path/to/agileday_server.py"],
"env": {
"AGILEDAY_TENANT_ID": "your_tenant_id",
"AGILEDAY_API_TOKEN": "your_api_token"
}
}
}
}
```
### Option 4: Run as service
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
## Example Prompts
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?"
## Security Note
* **API Tokens:** Never commit your `AGILEDAY_API_TOKEN` to 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.
## Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
1. Fork the repository.
2. Create your feature branch (`git checkout -b feature/AmazingFeature`).
3. Commit your changes (`git commit -m 'Add some AmazingFeature'`).
4. Push to the branch (`git push origin feature/AmazingFeature`).
5. Open a Pull Request.
## License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.