productive-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| PRODUCTIVE_MCP_TOKEN | No | Your Productive.io API token | |
| PRODUCTIVE_MCP_ORG_ID | No | Your Productive.io organization ID | |
| PRODUCTIVE_MCP_PERSON_ID | No | Your Productive.io person ID |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| productive_list_projectsA | List all active Productive.io projects from local cache. Returns id, name, number, and company for each project. Cache refreshes automatically every hour, or call productive_refresh_cache to force it. |
| productive_find_projectB | Fuzzy-search projects by name or number. Args: query: Partial name or number (e.g. "Acme", "1099"). limit: Max matches to return (default 5). |
| productive_list_servicesB | List services (billable activity types) on a given project. Args: project: Project name (fuzzy) or numeric project id. |
| productive_log_timeA | Create a time entry on a Productive.io project. Args: project: Project name (fuzzy match, e.g. "1099 Acme") or numeric id. hours: Hours worked (float, e.g. 2.5). Converted to minutes internally. note: Optional description of the work. date: ISO date (YYYY-MM-DD). Defaults to today. service_hint: Optional service name/id if the project has multiple services. Once chosen, remembered as the project default. |
| productive_list_time_entriesA | List time entries, newest first. Args: after: ISO date (YYYY-MM-DD) — include entries on/after this date. before: ISO date (YYYY-MM-DD) — include entries on/before this date. project: Project name or id to filter by. mine_only: If True (default), only return entries for the authenticated user. |
| productive_update_time_entryA | Edit a time entry. Only provide fields you want to change. Args: entry_id: Time entry ID (from productive_list_time_entries). hours: New hours value. date: New ISO date (YYYY-MM-DD). note: New note text. service_hint: New service name or id. |
| productive_delete_time_entryB | Permanently delete a time entry. Args: entry_id: Time entry ID. |
| productive_refresh_cacheA | Force-refresh the projects/services/deals cache from Productive. Call after creating new projects or services in Productive so they're visible to find_project. |
| productive_set_default_serviceB | Explicitly set (or override) the remembered default service for a project. Args: project: Project name or id. service: Service name or id. Must belong to the project. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
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/cameronfairbairn/productive-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server