harvest
Qué hace este MCP
Manages Harvest time tracking, projects, clients, tasks, expenses, estimates, and invoices.
Herramientas
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['project_id', 'task_id', 'spent_date'], 'properties': {'hours': {'type': 'number', 'minimum': 0, 'description': 'Duration in decimal hours, e.g. 1.5. Omit to start a running timer.'}, 'notes': {'type': 'string', 'description': 'Notes for the time entry.'}, 'task_id': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'The task id within the project (required).', 'exclusiveMinimum': 0}, 'user_id': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'Log on behalf of another user (defaults to the authenticated user; requires permission).', 'exclusiveMinimum': 0}, 'ended_time': {'type': 'string', 'description': "End time for a timestamped entry, e.g. '9:30am'."}, 'project_id': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'The project id to log time against (required).', 'exclusiveMinimum': 0}, 'spent_date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'The date the time was spent, yyyy-mm-dd (required).'}, 'started_time': {'type': 'string', 'description': "Start time for a timestamped entry, e.g. '8:00am'."}}}
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['time_entry_id'], 'properties': {'time_entry_id': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'The time entry id to delete (required).', 'exclusiveMinimum': 0}}}
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['client_id'], 'properties': {'client_id': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'The client id (required).', 'exclusiveMinimum': 0}}}
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {}}
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {}}
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['invoice_id'], 'properties': {'invoice_id': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'The invoice id (required).', 'exclusiveMinimum': 0}}}
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['project_id'], 'properties': {'project_id': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'The project id (required).', 'exclusiveMinimum': 0}}}
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['time_entry_id'], 'properties': {'time_entry_id': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'The time entry id (required).', 'exclusiveMinimum': 0}}}
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'page': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Page number (1-based) for pagination.'}, 'per_page': {'type': 'integer', 'maximum': 2000, 'minimum': 1, 'description': 'Results per page (1–2000, Harvest default 2000).'}, 'is_active': {'type': 'boolean', 'description': 'Only active (true) or archived (false) clients.'}, 'updated_since': {'type': 'string', 'description': 'Only clients updated since this ISO-8601 datetime.'}}}
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'to': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Only estimates issued on/before this date, yyyy-mm-dd.'}, 'from': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Only estimates issued on/after this date, yyyy-mm-dd.'}, 'page': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Page number (1-based) for pagination.'}, 'state': {'enum': ['draft', 'sent', 'accepted', 'declined'], 'type': 'string', 'description': 'Filter by estimate state: draft, sent, accepted or declined.'}, 'per_page': {'type': 'integer', 'maximum': 2000, 'minimum': 1, 'description': 'Results per page (1–2000, Harvest default 2000).'}, 'client_id': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'Filter to a single client id.', 'exclusiveMinimum': 0}, 'updated_since': {'type': 'string', 'description': 'Only estimates updated since this ISO-8601 datetime.'}}}
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'to': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Only expenses on/before this date, yyyy-mm-dd.'}, 'from': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Only expenses on/after this date, yyyy-mm-dd.'}, 'page': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Page number (1-based) for pagination.'}, 'user_id': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'Filter to a single user id.', 'exclusiveMinimum': 0}, 'per_page': {'type': 'integer', 'maximum': 2000, 'minimum': 1, 'description': 'Results per page (1–2000, Harvest default 2000).'}, 'client_id': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'Filter to a single client id.', 'exclusiveMinimum': 0}, 'is_billed': {'type': 'boolean', 'description': 'Only billed (true) or unbilled (false) expenses.'}, 'project_id': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'Filter to a single project id.', 'exclusiveMinimum': 0}, 'updated_since': {'type': 'string', 'description': 'Only expenses updated since this ISO-8601 datetime.'}}}
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'to': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Only invoices issued on/before this date, yyyy-mm-dd.'}, 'from': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Only invoices issued on/after this date, yyyy-mm-dd.'}, 'page': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Page number (1-based) for pagination.'}, 'state': {'enum': ['draft', 'open', 'paid', 'closed'], 'type': 'string', 'description': 'Filter by invoice state: draft, open, paid or closed.'}, 'per_page': {'type': 'integer', 'maximum': 2000, 'minimum': 1, 'description': 'Results per page (1–2000, Harvest default 2000).'}, 'client_id': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'Filter to a single client id.', 'exclusiveMinimum': 0}, 'project_id': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'Filter to a single project id.', 'exclusiveMinimum': 0}, 'updated_since': {'type': 'string', 'description': 'Only invoices updated since this ISO-8601 datetime.'}}}
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'page': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Page number (1-based) for pagination.'}, 'per_page': {'type': 'integer', 'maximum': 2000, 'minimum': 1, 'description': 'Results per page (1–2000, Harvest default 2000).'}}}
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'page': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Page number (1-based) for pagination.'}, 'per_page': {'type': 'integer', 'maximum': 2000, 'minimum': 1, 'description': 'Results per page (1–2000, Harvest default 2000).'}, 'client_id': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'Filter to a single client id.', 'exclusiveMinimum': 0}, 'is_active': {'type': 'boolean', 'description': 'Only active (true) or archived (false) projects.'}, 'updated_since': {'type': 'string', 'description': 'Only projects updated since this ISO-8601 datetime.'}}}
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'page': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Page number (1-based) for pagination.'}, 'per_page': {'type': 'integer', 'maximum': 2000, 'minimum': 1, 'description': 'Results per page (1–2000, Harvest default 2000).'}, 'is_active': {'type': 'boolean', 'description': 'Only active (true) or archived (false) tasks.'}, 'updated_since': {'type': 'string', 'description': 'Only tasks updated since this ISO-8601 datetime.'}}}
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'to': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Only entries on/before this date, yyyy-mm-dd.'}, 'from': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Only entries on/after this date, yyyy-mm-dd.'}, 'page': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Page number (1-based) for pagination.'}, 'task_id': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'Filter to a single task id.', 'exclusiveMinimum': 0}, 'user_id': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'Filter to a single user id.', 'exclusiveMinimum': 0}, 'per_page': {'type': 'integer', 'maximum': 2000, 'minimum': 1, 'description': 'Results per page (1–2000, Harvest default 2000).'}, 'client_id': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'Filter to a single client id.', 'exclusiveMinimum': 0}, 'is_billed': {'type': 'boolean', 'description': 'Only billed (true) or unbilled (false) entries.'}, 'is_running': {'type': 'boolean', 'description': 'Only running (true) or only stopped (false) entries.'}, 'project_id': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'Filter to a single project id.', 'exclusiveMinimum': 0}, 'updated_since': {'type': 'string', 'description': 'Only entries updated since this ISO-8601 datetime.'}}}
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'page': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Page number (1-based) for pagination.'}, 'per_page': {'type': 'integer', 'maximum': 2000, 'minimum': 1, 'description': 'Results per page (1–2000, Harvest default 2000).'}, 'is_active': {'type': 'boolean', 'description': 'Only active (true) or archived (false) users.'}, 'updated_since': {'type': 'string', 'description': 'Only users updated since this ISO-8601 datetime.'}}}
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['time_entry_id'], 'properties': {'time_entry_id': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'The stopped time entry id to restart (required).', 'exclusiveMinimum': 0}}}
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['time_entry_id'], 'properties': {'time_entry_id': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'The running time entry id to stop (required).', 'exclusiveMinimum': 0}}}
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['time_entry_id'], 'properties': {'hours': {'type': 'number', 'minimum': 0, 'description': 'Change the duration in decimal hours, e.g. 2.25.'}, 'notes': {'type': 'string', 'description': 'Change the notes.'}, 'task_id': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'Reassign to a different task id.', 'exclusiveMinimum': 0}, 'ended_time': {'type': 'string', 'description': "Change the end time, e.g. '9:30am'."}, 'project_id': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'Reassign to a different project id.', 'exclusiveMinimum': 0}, 'spent_date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Change the date, yyyy-mm-dd.'}, 'started_time': {'type': 'string', 'description': "Change the start time, e.g. '8:00am'."}, 'time_entry_id': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'The time entry id to update (required).', 'exclusiveMinimum': 0}}}
Cambios recientes en herramientas
Servidores MCP similares
freedom-mcp
Supports company operations through commitments, teams, agents, customer evidence, leads, content workflows, spreadsheets, commer…
Stable Baseline
Manages company documents, knowledge graphs, whiteboards, projects, plans, tasks, teams, and improvement workflows.
mcp
Manages Nestr workspaces, roles, circles, tensions, governance proposals, comments, daily plans, graph relationships, agents, and…
TaScan
Manages field-service projects, workers, task lists, subtasks, dispatch, geofenced work zones, inspections, remediation workflows…
Tango
Manages shared work between humans and agents through tasks, leases, handoffs, approvals, artifacts, comments, integrations, prog…
AIOProductOS MCP
Combines customer records, support conversations, feedback, product analytics, roadmaps, tasks, experiments, releases, and retent…
agendaforge
Manages events, agendas, sessions, speakers, attendees, sponsors, forms, contacts, email templates, approvals, and organizer work…
Refine Job Search
Tracks job applications, interviews, offers, recruiter email, and company openings, with Gmail synchronization and workflow actio…