Roadmunk MCP by usefulapi
Read roadmaps, items and milestones; create and update items and milestones in Roadmunk.
Should I use this
Quality & Safety
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"roadmunk": {
"url": "https://roadmunk.usefulapi.io/mcp"
}
}
}Remote endpoints
https://roadmunk.usefulapi.io/mcpstreamable-httpWhat it can do
Tool inventory
Tools (14)
🟢roadmunk_get_account
Get the Roadmunk account: company name, billing contact and plan (package limits). Good first call to confirm the connection. GraphQL: account.
Input Schema
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢roadmunk_list_users(limit, offset, account_roles, search)
List users of the account with role and last login. Optionally filter by role or a search string. GraphQL: users.
Input Schema
{
"type": "object",
"properties": {
"limit": {
"description": "Results per page (1-100, default 25).",
"type": "integer",
"minimum": 1,
"maximum": 100
},
"offset": {
"description": "Number of results to skip (default 0). Use with hasMore in the answer.",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"account_roles": {
"description": "Only users with one of these roles.",
"type": "array",
"items": {
"type": "string",
"enum": [
"account_admin",
"collaborator",
"reviewer"
]
}
},
"search": {
"description": "Search string for name or email.",
"type": "string"
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢roadmunk_get_user(user_id)
Get one user by id. GraphQL: user(userID).
Input Schema
{
"type": "object",
"properties": {
"user_id": {
"type": "string",
"minLength": 1,
"description": "The user id (from a roadmunk_list_* tool)."
}
},
"required": [
"user_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢roadmunk_list_roadmaps(limit, offset, search, include_archived)
List roadmaps with title and last update (milliseconds since Unix epoch). Optionally search by title. Archived roadmaps are left out unless asked. GraphQL: roadmaps.
Input Schema
{
"type": "object",
"properties": {
"limit": {
"description": "Results per page (1-100, default 25).",
"type": "integer",
"minimum": 1,
"maximum": 100
},
"offset": {
"description": "Number of results to skip (default 0). Use with hasMore in the answer.",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"search": {
"description": "Search string for the roadmap title.",
"type": "string"
},
"include_archived": {
"description": "Also list archived roadmaps.",
"type": "boolean"
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢roadmunk_get_roadmap(roadmap_id)
Get one roadmap by id, with its first 50 fields, items and milestones (hasMore says if more exist). Use roadmunk_list_items / roadmunk_list_milestones for more. GraphQL: roadmap(roadmapID).
Input Schema
{
"type": "object",
"properties": {
"roadmap_id": {
"type": "string",
"minLength": 1,
"description": "The roadmap id (from a roadmunk_list_* tool)."
}
},
"required": [
"roadmap_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢roadmunk_list_items(limit, offset, search, roadmap_id, include_archived_roadmap_items)
Search roadmap items by text, optionally inside one roadmap. An item has dates or a bucket (time period), not both. GraphQL: items.
Input Schema
{
"type": "object",
"properties": {
"limit": {
"description": "Results per page (1-100, default 25).",
"type": "integer",
"minimum": 1,
"maximum": 100
},
"offset": {
"description": "Number of results to skip (default 0). Use with hasMore in the answer.",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"search": {
"description": "Search string (empty lists all items).",
"type": "string"
},
"roadmap_id": {
"description": "Only items on this roadmap.",
"type": "string"
},
"include_archived_roadmap_items": {
"description": "Also items of archived roadmaps.",
"type": "boolean"
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢roadmunk_get_item(item_id, nested_offset)
Get one item by id with its field values, key dates, parent and sub-items (first 50 of each; if hasMore is true, pass a higher nested_offset to read the next 50 of every list). GraphQL: item(itemID).
Input Schema
{
"type": "object",
"properties": {
"item_id": {
"type": "string",
"minLength": 1,
"description": "The item id (from a roadmunk_list_* tool)."
},
"nested_offset": {
"description": "Number of results to skip (default 0). Use with hasMore in the answer.",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
},
"required": [
"item_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢roadmunk_list_milestones(limit, offset, search, roadmap_id, include_archived_roadmap_milestones)
Search milestones by text, optionally inside one roadmap. A milestone has one date. GraphQL: milestones.
Input Schema
{
"type": "object",
"properties": {
"limit": {
"description": "Results per page (1-100, default 25).",
"type": "integer",
"minimum": 1,
"maximum": 100
},
"offset": {
"description": "Number of results to skip (default 0). Use with hasMore in the answer.",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"search": {
"description": "Search string (empty lists all milestones).",
"type": "string"
},
"roadmap_id": {
"description": "Only milestones on this roadmap.",
"type": "string"
},
"include_archived_roadmap_milestones": {
"description": "Also milestones of archived roadmaps.",
"type": "boolean"
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢roadmunk_get_milestone(milestone_id, fields_offset)
Get one milestone by id with its field values (first 50; if hasMore is true, pass a higher fields_offset). GraphQL: milestone(milestoneID).
Input Schema
{
"type": "object",
"properties": {
"milestone_id": {
"type": "string",
"minLength": 1,
"description": "The milestone id (from a roadmunk_list_* tool)."
},
"fields_offset": {
"description": "Number of results to skip (default 0). Use with hasMore in the answer.",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
},
"required": [
"milestone_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢roadmunk_get_field(field_id, values_offset)
Get one roadmap or account field by id: name, type and, for list fields, the allowed values (first 100; if hasMore is true, pass a higher values_offset); for number fields the format. GraphQL: field(fieldID).
Input Schema
{
"type": "object",
"properties": {
"field_id": {
"type": "string",
"minLength": 1,
"description": "The field id (from roadmunk_get_roadmap) (from a roadmunk_list_* tool)."
},
"values_offset": {
"description": "Number of results to skip (default 0). Use with hasMore in the answer.",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
},
"required": [
"field_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴roadmunk_create_item(roadmap_id, summary, description, start_date, end_date, ...)
WRITE: create a new item on a roadmap. Changes live data (Roadmunk has no test environment). Give dates OR a bucket, not both. GraphQL: createItem.
Input Schema
{
"type": "object",
"properties": {
"roadmap_id": {
"type": "string",
"minLength": 1,
"description": "The roadmap id (from a roadmunk_list_* tool)."
},
"summary": {
"type": "string",
"minLength": 1,
"description": "Item title."
},
"description": {
"type": "string"
},
"start_date": {
"description": "Start date yyyy-mm-dd.",
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"end_date": {
"description": "End date yyyy-mm-dd.",
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"bucket": {
"description": "Time bucket name (instead of dates).",
"type": "string"
},
"parent_item_id": {
"description": "Make the item a sub-item of this item.",
"type": "string"
},
"fields": {
"description": "Field values to set on the record.",
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"description": "Field id (use id or name).",
"type": "string"
},
"name": {
"description": "Field name (use id or name).",
"type": "string"
},
"value": {
"type": "array",
"items": {
"type": "string"
},
"description": "Value(s) to set, as text. Several only for multi-list fields."
}
},
"required": [
"value"
]
}
}
},
"required": [
"roadmap_id",
"summary"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴roadmunk_update_item(item_id, summary, description, start_date, end_date, ...)
WRITE: change an item. Only the arguments you pass change. Changes live data. GraphQL: updateItem.
Input Schema
{
"type": "object",
"properties": {
"item_id": {
"type": "string",
"minLength": 1,
"description": "The item id (from a roadmunk_list_* tool)."
},
"summary": {
"type": "string",
"minLength": 1
},
"description": {
"type": "string"
},
"start_date": {
"description": "Start date yyyy-mm-dd.",
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"end_date": {
"description": "End date yyyy-mm-dd.",
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"bucket": {
"description": "Time bucket name (instead of dates).",
"type": "string"
},
"parent_item_id": {
"type": "string"
},
"fields": {
"description": "Field values to set on the record.",
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"description": "Field id (use id or name).",
"type": "string"
},
"name": {
"description": "Field name (use id or name).",
"type": "string"
},
"value": {
"type": "array",
"items": {
"type": "string"
},
"description": "Value(s) to set, as text. Several only for multi-list fields."
}
},
"required": [
"value"
]
}
}
},
"required": [
"item_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴roadmunk_create_milestone(roadmap_id, summary, description, date, milestone_type, ...)
WRITE: create a milestone on a roadmap. Changes live data. GraphQL: createMilestone.
Input Schema
{
"type": "object",
"properties": {
"roadmap_id": {
"type": "string",
"minLength": 1,
"description": "The roadmap id (from a roadmunk_list_* tool)."
},
"summary": {
"type": "string",
"minLength": 1,
"description": "Milestone title."
},
"description": {
"type": "string"
},
"date": {
"description": "Date yyyy-mm-dd.",
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"milestone_type": {
"description": "Milestone type name.",
"type": "string"
},
"fields": {
"description": "Field values to set on the record.",
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"description": "Field id (use id or name).",
"type": "string"
},
"name": {
"description": "Field name (use id or name).",
"type": "string"
},
"value": {
"type": "array",
"items": {
"type": "string"
},
"description": "Value(s) to set, as text. Several only for multi-list fields."
}
},
"required": [
"value"
]
}
}
},
"required": [
"roadmap_id",
"summary"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴roadmunk_update_milestone(milestone_id, summary, description, date, milestone_type, ...)
WRITE: change a milestone. Only the arguments you pass change. Changes live data. GraphQL: updateMilestone.
Input Schema
{
"type": "object",
"properties": {
"milestone_id": {
"type": "string",
"minLength": 1,
"description": "The milestone id (from a roadmunk_list_* tool)."
},
"summary": {
"type": "string",
"minLength": 1
},
"description": {
"type": "string"
},
"date": {
"description": "Date yyyy-mm-dd.",
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"milestone_type": {
"type": "string"
},
"fields": {
"description": "Field values to set on the record.",
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"description": "Field id (use id or name).",
"type": "string"
},
"name": {
"description": "Field name (use id or name).",
"type": "string"
},
"value": {
"type": "array",
"items": {
"type": "string"
},
"description": "Value(s) to set, as text. Several only for multi-list fields."
}
},
"required": [
"value"
]
}
}
},
"required": [
"milestone_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Community
Evidence