ProofHub MCP by usefulapi
Read projects, tasks, comments, people and time entries; create tasks and comments in ProofHub.
Sollte ich dies verwenden
Qualität und Sicherheit
Befunde (17)
- HIGH
- MEDIUMin proofhub_list_todolists
- MEDIUMin proofhub_list_tasks
- MEDIUMin proofhub_get_task
- MEDIUMin proofhub_list_task_comments
- MEDIUMin proofhub_search_all_tasks
- MEDIUMin proofhub_create_task
- MEDIUMin proofhub_set_task_completed
- MEDIUMin proofhub_add_task_comment
- INFOin proofhub_list_todolists
Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.
Kontextkosten
Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.
Installieren
Installation mit einem Klick
Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:
{
"mcpServers": {
"proofhub": {
"url": "https://proofhub.usefulapi.io/mcp"
}
}
}Remote-Endpunkte
https://proofhub.usefulapi.io/mcpstreamable-httpWas es kann
Tool-Inventar
Tools (15)
🟢proofhub_list_projects
List all projects in the ProofHub account the key belongs to. Start here to find project ids. GET /projects.
Eingabe-Schema
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢proofhub_get_project(project_id)
Get one project by id: name, status, dates and the people on it. GET /projects/{project_id}.
Eingabe-Schema
{
"type": "object",
"properties": {
"project_id": {
"anyOf": [
{
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
{
"type": "string",
"pattern": "^\\d+$"
}
]
}
},
"required": [
"project_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢proofhub_list_todolists(project_id)
List the to-do lists (task lists) of one project. GET /projects/{project_id}/todolists.
Eingabe-Schema
{
"type": "object",
"properties": {
"project_id": {
"anyOf": [
{
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
{
"type": "string",
"pattern": "^\\d+$"
}
]
}
},
"required": [
"project_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢proofhub_list_tasks(project_id, todolist_id)
List the tasks of one to-do list with title, assignees, labels, dates and completion. GET /projects/{project_id}/todolists/{todolist_id}/tasks.
Eingabe-Schema
{
"type": "object",
"properties": {
"project_id": {
"anyOf": [
{
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
{
"type": "string",
"pattern": "^\\d+$"
}
]
},
"todolist_id": {
"anyOf": [
{
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
{
"type": "string",
"pattern": "^\\d+$"
}
]
}
},
"required": [
"project_id",
"todolist_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢proofhub_get_task(project_id, todolist_id, task_id)
Get one task with its description, dates, assignees, labels and progress. GET /projects/{project_id}/todolists/{todolist_id}/tasks/{task_id}.
Eingabe-Schema
{
"type": "object",
"properties": {
"project_id": {
"anyOf": [
{
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
{
"type": "string",
"pattern": "^\\d+$"
}
]
},
"todolist_id": {
"anyOf": [
{
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
{
"type": "string",
"pattern": "^\\d+$"
}
]
},
"task_id": {
"anyOf": [
{
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
{
"type": "string",
"pattern": "^\\d+$"
}
]
}
},
"required": [
"project_id",
"todolist_id",
"task_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢proofhub_list_task_comments(project_id, todolist_id, task_id)
List the comments on one task. GET /projects/{project_id}/todolists/{todolist_id}/tasks/{task_id}/comments.
Eingabe-Schema
{
"type": "object",
"properties": {
"project_id": {
"anyOf": [
{
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
{
"type": "string",
"pattern": "^\\d+$"
}
]
},
"todolist_id": {
"anyOf": [
{
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
{
"type": "string",
"pattern": "^\\d+$"
}
]
},
"task_id": {
"anyOf": [
{
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
{
"type": "string",
"pattern": "^\\d+$"
}
]
}
},
"required": [
"project_id",
"todolist_id",
"task_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢proofhub_search_all_tasks(projects, labels, completed, start, limit)
List tasks across the whole account, filtered by project, label or completion. Paged: when the reply has more records, call again with a higher start. GET /alltodo.
Eingabe-Schema
{
"type": "object",
"properties": {
"projects": {
"type": "string",
"pattern": "^\\d+(,\\d+)*$",
"description": "Comma-separated numeric ids."
},
"labels": {
"type": "string",
"pattern": "^\\d+(,\\d+)*$",
"description": "Comma-separated numeric ids."
},
"completed": {
"description": "true for completed tasks only, false for open tasks only.",
"type": "boolean"
},
"start": {
"description": "Offset of the first record (default 0).",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"limit": {
"description": "Records per page, 1 to 100 (default 100).",
"type": "integer",
"minimum": 1,
"maximum": 100
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢proofhub_list_topics(project_id)
List the discussion topics of one project. GET /projects/{project_id}/topics.
Eingabe-Schema
{
"type": "object",
"properties": {
"project_id": {
"anyOf": [
{
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
{
"type": "string",
"pattern": "^\\d+$"
}
]
}
},
"required": [
"project_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢proofhub_list_labels
List the task labels of the account. Use the ids in task filters. GET /labels.
Eingabe-Schema
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢proofhub_list_people
List the people (users) of the account with their roles and emails. GET /people.
Eingabe-Schema
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢proofhub_get_person(person_id)
Get one person by id. GET /people/{person_id}.
Eingabe-Schema
{
"type": "object",
"properties": {
"person_id": {
"anyOf": [
{
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
{
"type": "string",
"pattern": "^\\d+$"
}
]
}
},
"required": [
"person_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢proofhub_list_time_entries(start, limit)
List logged time entries across the account, paged. When the reply is full, call again with a higher start. GET /alltime.
Eingabe-Schema
{
"type": "object",
"properties": {
"start": {
"description": "Offset of the first record (default 0).",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"limit": {
"description": "Records per page, 1 to 100 (default 100).",
"type": "integer",
"minimum": 1,
"maximum": 100
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴proofhub_create_task(project_id, todolist_id, title, description, start_date, ...)
Create a task in a to-do list. Writes to the account. Each call makes a new task, so do not retry blindly. POST /projects/{project_id}/todolists/{todolist_id}/tasks.
Eingabe-Schema
{
"type": "object",
"properties": {
"project_id": {
"anyOf": [
{
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
{
"type": "string",
"pattern": "^\\d+$"
}
]
},
"todolist_id": {
"anyOf": [
{
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
{
"type": "string",
"pattern": "^\\d+$"
}
]
},
"title": {
"type": "string",
"minLength": 1,
"maxLength": 500,
"description": "Task title."
},
"description": {
"type": "string",
"maxLength": 20000
},
"start_date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"due_date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"assigned": {
"description": "Person ids to assign (from proofhub_list_people).",
"maxItems": 50,
"type": "array",
"items": {
"anyOf": [
{
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
{
"type": "string",
"pattern": "^\\d+$"
}
]
}
},
"labels": {
"description": "Label ids (from proofhub_list_labels).",
"maxItems": 50,
"type": "array",
"items": {
"anyOf": [
{
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
{
"type": "string",
"pattern": "^\\d+$"
}
]
}
}
},
"required": [
"project_id",
"todolist_id",
"title"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟡proofhub_set_task_completed(project_id, todolist_id, task_id, completed)
Mark one task completed (true) or open again (false). Setting the same value twice is harmless. PUT /projects/{project_id}/todolists/{todolist_id}/tasks/{task_id}.
Eingabe-Schema
{
"type": "object",
"properties": {
"project_id": {
"anyOf": [
{
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
{
"type": "string",
"pattern": "^\\d+$"
}
]
},
"todolist_id": {
"anyOf": [
{
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
{
"type": "string",
"pattern": "^\\d+$"
}
]
},
"task_id": {
"anyOf": [
{
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
{
"type": "string",
"pattern": "^\\d+$"
}
]
},
"completed": {
"type": "boolean"
}
},
"required": [
"project_id",
"todolist_id",
"task_id",
"completed"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴proofhub_add_task_comment(project_id, todolist_id, task_id, description)
Post a comment on one task, as the key's user. Each call posts a new comment, so do not retry blindly. POST /projects/{project_id}/todolists/{todolist_id}/tasks/{task_id}/comments.
Eingabe-Schema
{
"type": "object",
"properties": {
"project_id": {
"anyOf": [
{
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
{
"type": "string",
"pattern": "^\\d+$"
}
]
},
"todolist_id": {
"anyOf": [
{
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
{
"type": "string",
"pattern": "^\\d+$"
}
]
},
"task_id": {
"anyOf": [
{
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
{
"type": "string",
"pattern": "^\\d+$"
}
]
},
"description": {
"type": "string",
"minLength": 1,
"maxLength": 20000,
"description": "Comment text."
}
},
"required": [
"project_id",
"todolist_id",
"task_id",
"description"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Community
Nachweis