@marceloemmerich/mite-mcp
v0.1.5
Published
Model Context Protocol server for mite time tracking API
Downloads
37
Maintainers
Readme
mite MCP Server
Model Context Protocol server for the mite time tracking API.
mite – Simple time tracking for teams
Prerequisites
- Node.js 18+
- mite account with API access enabled
- mite API key (recommended) or email/password
Installation
npm install -g @marceloemmerich/mite-mcpOr use directly with npx:
npx @marceloemmerich/mite-mcpConfiguration
For Development
Copy
.env.exampleto.env:cp .env.example .envEdit
.envand fill in your credentials:MITE_ACCOUNT_NAME=your-account-name MITE_API_KEY=your-api-key
For Production
Set the following environment variables:
# Required
MITE_ACCOUNT_NAME=your-account-name
# Authentication (use one of these)
MITE_API_KEY=your-api-key # Recommended
# OR
[email protected]
MITE_PASSWORD=your-passwordGetting your mite API Key
- Log into your mite account
- Go to Settings > My User
- Under "API Key", click "Display API Key"
- Copy the key and set it as
MITE_API_KEY
Available Tools
Time Entries
list_time_entries- List time entries with optional filtersget_daily_time_entries- Get time entries for today or a specific dateget_time_entry- Get a specific time entry by IDcreate_time_entry- Create a new time entryupdate_time_entry- Update an existing time entrydelete_time_entry- Delete a time entry
Stopwatch
get_stopwatch_status- Get current stopwatch statusstart_stopwatch- Start tracking time for an entrystop_stopwatch- Stop the currently running stopwatchquick_start_stopwatch- Create and start tracking a new entry
Customers
list_customers- List active or archived customersget_customer- Get a specific customercreate_customer- Create a new customer (admin only)update_customer- Update a customer (admin only)delete_customer- Delete a customer (admin only)
Projects
list_projects- List active or archived projectsget_project- Get a specific projectcreate_project- Create a new project (admin only)update_project- Update a project (admin only)delete_project- Delete a project (admin only)
Services
list_services- List active or archived servicesget_service- Get a specific servicecreate_service- Create a new service (admin only)update_service- Update a service (admin only)delete_service- Delete a service (admin only)
Usage
MCP Server Modes
The mite MCP server supports two modes:
1. Stdio Mode (Default)
For use with Claude Desktop and other MCP clients that use stdio transport:
# Default stdio mode
npx @marceloemmerich/mite-mcp
# Explicitly specify stdio mode
npx @marceloemmerich/mite-mcp --stdio2. HTTP/Streamable Mode
For web-based clients or testing environments:
# HTTP/Streamable mode on default port 3000
npx @marceloemmerich/mite-mcp --http
# HTTP/Streamable mode on custom port and host
npx @marceloemmerich/mite-mcp --http --port 8080 --host 0.0.0.0HTTP Endpoints:
POST /- Handles MCP JSON-RPC requestsGET /- Establishes SSE stream (requires Mcp-Session-Id header)DELETE /- Terminates session (requires Mcp-Session-Id header)
CLI Options
mite-mcp [options]
Options:
-V, --version output the version number
--stdio Run in stdio mode (default)
--http Run in HTTP/Streamable mode
-p, --port <port> Port for HTTP server (default: 3000)
-h, --host <host> Host for HTTP server (default: localhost)
--help display help for commandClaude Desktop Configuration
Add to your Claude Desktop configuration:
{
"mcpServers": {
"mite": {
"command": "npx",
"args": ["@marceloemmerich/mite-mcp"],
"env": {
"MITE_ACCOUNT_NAME": "your-account-name",
"MITE_API_KEY": "your-api-key"
}
}
}
}For development testing with Claude Desktop, you can also use:
{
"mcpServers": {
"mite-dev": {
"command": "node",
"args": ["dist/index.js"],
"cwd": "/path/to/mite-mcp",
"env": {
"MITE_ACCOUNT_NAME": "your-account-name",
"MITE_API_KEY": "your-api-key"
}
}
}
}You can also run directly from the CLI like this:
export MITE_ACCOUNT_NAME=<YOUR-ACCOUNT-NAME> && export MITE_API_KEY=<YOUR-API-KEY> && npx @marceloemmerich/mite-mcp --http --port 3000Development
# Clone the repository
git clone https://github.com/marceloemmerich/mite-mcp.git
cd mite-mcp
# Install dependencies
npm install
# Run in development mode (stdio)
npm run dev
# Run in HTTP/Streamable mode for testing
npm run dev -- --http --port 3000
# Run tests
npm test
# Run tests with coverage
npm run test:coverage
# Build for production
npm run build
# Lint and format code
npm run lint:fixTesting HTTP/Streamable Mode
For testing the HTTP/Streamable server mode, you can use tools like:
# Test initialization (this will return a session ID)
curl -X POST http://localhost:3000/ \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{"roots":{"listChanged":true},"sampling":{}}},"id":1}'
# Test with session ID (replace SESSION_ID with the actual session ID from initialization)
curl -X GET http://localhost:3000/ \
-H "Mcp-Session-Id: SESSION_ID"Development with Claude Desktop
For local development, update your Claude Desktop config:
{
"mcpServers": {
"mite-dev": {
"command": "npm",
"args": ["run", "dev"],
"cwd": "/path/to/mite-mcp",
"env": {
"MITE_ACCOUNT_NAME": "your-account-name",
"MITE_API_KEY": "your-api-key"
}
}
}
}API Documentation
For detailed mite API documentation, visit: https://mite.de/api/
License
MIT
