Skip to main content
Glama
martasd

BusinessMap MCP Server

by martasd

BusinessMap MCP Server

A Model Context Protocol (MCP) server for integrating BusinessMap (formerly Kanbanize) with MCP-compatible applications.

Features

  • Board Management: List workspaces and boards

  • Card Operations: Search, view, create, and update cards

  • User Management: List team members

  • Search Capabilities: Find cards by title across boards

Related MCP server: scrumdo-mcp

Architecture

The server is organized into separate modules for maintainability:

  • businessmap_client.py - BusinessMap API client

  • businessmap_tools.py - MCP tool implementations

  • businessmap_mcp_server.py - Main server entry point

Available Tools

Information Tools

  • list_workspaces() - Get all workspaces

  • list_boards() - Get all boards

  • list_users() - Get all users

  • get_board_cards(board_id, limit=50) - Get cards from a specific board

  • get_card_details(card_id) - Get detailed card information

  • search_cards(query, board_id=None, limit=20) - Search cards by title

Management Tools

  • create_card(template_type, title, description="") - Create new cards

  • update_card(card_id, title=None, description=None) - Update existing cards

Setup

1. Install Dependencies

This project uses uv for dependency management.

cd businessmap-mcp-server
uv sync

Alternatively, run the setup script:

./setup.sh

2. Set Environment Variables

You need to configure your BusinessMap credentials:

export BUSINESSMAP_SUBDOMAIN="YOUR_SUBDOMAIN_HERE"
export BUSINESSMAP_API_KEY="your-api-key-here"

Or create a .env file:

BUSINESSMAP_SUBDOMAIN=YOUR_SUBDOMAIN_HERE
BUSINESSMAP_API_KEY=your-api-key-here

3. Test the Server

uv run python businessmap_mcp_server.py

Claude Code Integration

To use with Claude Code, add this server to your MCP settings:

Option 1: Using stdio transport

Add to your Claude Code settings (~/.config/claude-code/settings/default.json):

{
  "mcpServers": {
    "businessmap": {
      "command": "python",
      "args": ["/path/to/businessmap-mcp-server/businessmap_mcp_server.py"],
      "env": {
        "BUSINESSMAP_SUBDOMAIN": "YOUR_SUBDOMAIN_HERE", 
        "BUSINESSMAP_API_KEY": "your-api-key-here"
      }
    }
  }
}
{
  "mcpServers": {
    "businessmap": {
      "command": "uv",
      "args": ["--directory", "/path/to/businessmap-mcp-server", "run", "python", "businessmap_mcp_server.py"],
      "env": {
        "BUSINESSMAP_SUBDOMAIN": "YOUR_SUBDOMAIN_HERE",
        "BUSINESSMAP_API_KEY": "your-api-key-here"
      }
    }
  }
}

Usage Examples

Once configured, you can use these commands in Claude Code:

  • "List all my BusinessMap boards"

  • "Show me cards in the Development board"

  • "Search for cards about 'authentication'"

  • "Create a new card in board 3 with title 'Fix login bug'"

  • "Get details for card 14193"

  • "Update card 14193 with a new description"

API Reference

BusinessMap API Integration

This server uses BusinessMap's REST API v2. The following endpoints are supported:

  • GET /workspaces - List workspaces

  • GET /boards - List boards

  • GET /cards - List cards (with filtering)

  • GET /cards/{id} - Get card details

  • GET /users - List users

  • POST /cards - Create cards

  • PATCH /cards/{id} - Update cards

Security Notes

  • Store your API key securely

  • Use environment variables rather than hardcoding credentials

  • The API key has full access to your BusinessMap account

  • Consider creating a dedicated API key for this integration

Troubleshooting

Common Issues

  1. Authentication Error: Verify your API key and subdomain are correct

  2. Connection Error: Check your internet connection and BusinessMap service status

  3. Permission Error: Ensure your API key has appropriate permissions

Debug Mode

Enable debug logging:

export LOG_LEVEL=DEBUG
uv run python businessmap_mcp_server.py

Contributing

Feel free to extend this server with additional BusinessMap API endpoints or features.

Available Tools

9 tools
create_cardC

Create a new card in BusinessMap

Args: title: The title of the card description: Description for the card user_id: The ID of the user to assign the card to (optional) tag_ids: List of tag IDs to assign to the card (optional)

ParametersJSON Schema
NameRequiredDescriptionDefault
titleYes
tag_idsYes
user_idYes
descriptionYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must carry the full burden of behavioral disclosure. It merely states that it creates a card and lists arguments, omitting any details about permissions, side effects, idempotency, return values, or error conditions. This is a minimal behavioral description.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is appropriately short and front-loaded, with a clear opening sentence and a compact parameter list. The argument list is somewhat redundant with the schema but does not unduly bloat the description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the lack of annotations and the presence of an output schema, the description omits critical context such as when to use the tool, behavioral expectations, and accurate parameter requirements. The optional/required contradiction further reduces completeness, leaving the agent with ambiguous guidance.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description adds semantic meaning to parameters, such as 'assign the card to' for user_id and 'assign' for tag_ids, which goes beyond the bare schema titles. However, it explicitly labels user_id and tag_ids as optional, directly contradicting the input schema which requires all four parameters. This inaccuracy undermines the reliability of the parameter descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Create a new card in BusinessMap' clearly identifies the action (create) and the resource (card), and it distinguishes itself from sibling tools like update_card and get_card_details. This is a specific verb+resource combination.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives no explicit guidance on when to use this tool versus alternatives, no prerequisites, and no exclusions. The only implied context is that this is the creation operation for cards, which is insufficient for an AI agent to make nuanced decisions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_board_cardsA

Get cards from a specific board

Args: board_id: The ID of the board limit: Maximum number of cards to return (default: 50)

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
board_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It does not mention read-only behavior, authentication requirements, pagination details, or how cards are ordered or filtered.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is very concise, consisting of a single clear sentence followed by parameter definitions. No unnecessary information is included.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers the purpose and parameters adequately for a simple tool, and an output schema exists to explain return values. However, it lacks usage guidelines and behavioral context, making it acceptable but not comprehensive.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description explains both parameters: board_id as the board's ID and limit as the maximum number of cards with a default. This compensates for the schema's 0% description coverage, though board_id is somewhat tautological.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Get cards from a specific board' with a specific verb and resource, and distinguishes itself from sibling tools like get_user_cards and get_card_details by board scope.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this tool versus alternatives such as search_cards or list_boards. The description only states the operation and arguments, providing no context for selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_card_detailsC

Get detailed information about a specific card

Args: card_id: The ID of the card

ParametersJSON Schema
NameRequiredDescriptionDefault
card_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden, but it only says 'Get detailed information' which implies a read operation. It does not disclose any behavioral traits such as error handling, permissions, or safety guarantees.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is very short and to the point, with no filler words. The Args block is somewhat redundant with the schema but does not detract. It is appropriately sized for a simple tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (one parameter, output schema present, read operation), the description covers the essential purpose. However, it lacks usage guidance and any notes on edge cases or behavioral limitations, which makes it minimally viable but not thorough.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description includes an Args section explaining card_id as 'The ID of the card', which adds a small amount of semantic value beyond the schema's bare type/title. With schema description coverage at 0%, this compensation is minimal but sufficient for a single simple parameter.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool retrieves detailed information for a specific card, using a clear verb+resource pattern. It is distinguishable from sibling list/search tools by focusing on a single card, though it does not explicitly contrast with them.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives like search_cards or get_board_cards. The description implies use when you have a card ID, but it doesn't state exclusions or mention other tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_user_cardsA

Get cards assigned to a specific user

Args: user_id: The ID of the user whose cards to retrieve (if not provided, uses the current user) board_id: Optional board ID to limit search to specific board column_id: Optional column ID to limit search to specific column limit: Maximum number of cards to return (default: 50)

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
user_idNo
board_idNo
column_idNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

It discloses useful defaults: user_id falls back to the current user and limit defaults to 50. However, with no annotations, the description could also clarify that this is a read-only operation and whether 'assigned' means only direct assignment or includes related associations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and well-structured: a one-sentence purpose followed by a concise args list. Every line provides necessary information without redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read-only listing tool with an output schema, the description covers all parameters and default behaviors. It lacks explicit usage guidance but is otherwise sufficient for invoking the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description fully compensates by explaining each parameter's purpose, including the default fallback for user_id and the meaning of optional board/column filters. This adds significant value beyond the bare schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Get cards assigned to a specific user', using a specific verb and resource, and the scope ('assigned to a user') distinguishes it from siblings like get_board_cards and search_cards.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage through its parameters and default behavior (e.g., current user, optional board/column filters), but it does not explicitly mention when to prefer this tool over alternatives like search_cards or get_board_cards, nor does it state exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_boardsA

List all BusinessMap boards

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. 'List' implies a read-only operation, but the description does not mention any potential limitations such as pagination, ordering, or authorization requirements. It is minimally adequate for a simple list operation but lacks depth.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, well-front-loaded sentence with zero wasted words. It conveys the essential information directly and efficiently.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple, parameterless list operation, the description is sufficiently complete. It clearly states the scope ('all') and resource ('boards'). The existence of an output schema means return values are structured elsewhere, so the description does not need to elaborate on the response format. A slightly lower score would apply if there were more behavioral nuances, but here it fits the tool's simplicity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Since there are no parameters (0 params), the description need not add parameter semantics. The baseline for 0 params is 4, and the description appropriately focuses on the action without needing to explain parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('List') and resource ('BusinessMap boards'), making the tool's purpose immediately clear. It also distinguishes itself from sibling tools like list_users and list_workspaces by explicitly naming boards as the target resource.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description clearly implies the tool is for retrieving all boards, which differentiates it from tools like get_board_cards or search_cards. However, it does not explicitly state when to use this tool over alternatives or mention any exclusions, so it stops short of full guideline coverage.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_usersA

List all BusinessMap users

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The verb 'List' implies a read-only operation, but with no annotations provided, the description carries the full burden. It does not disclose potential side effects, authentication requirements, rate limits, or size of the response. Minimal behavioral context is given beyond the action.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence, front-loaded with the verb and object, with no redundant or unnecessary wording. It is optimally concise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter list operation with an output schema present, the description is sufficient and clear. It states the scope ('all') and resource ('users'), though it could optionally mention potential large response sizes or access prerequisites.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has zero parameters, so the description has nothing to add. A baseline score of 4 is appropriate since the schema fully covers parameter semantics.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('List') and resource ('BusinessMap users'), clearly distinguishing it from sibling tools like list_workspaces and list_boards. It unambiguously states what the tool does.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It does not mention any context, exclusions, or specific scenarios, leaving the agent without clear selection criteria.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_workspacesA

List all BusinessMap workspaces

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full safety/behavioral burden. It states 'List all' which implies a read-only, non-destructive operation, but it does not disclose details like pagination, ordering, or authentication. For a simple, parameterless list tool, this is acceptable but not thoroughly transparent, so 3.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, concise sentence with no fluff. It gets straight to the point and earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the zero-parameter complexity and the presence of an output schema (covering return-value structures), the description provides complete context for a simple list-all tool. There is no missing information that the agent would need to invoke it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, and the schema is empty (100% coverage by default). The description adds semantic value by specifying that it lists 'all' workspaces, implying no filtering is possible. Per the rubric, 0 params gets a baseline of 4, and the description does not hurt that.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'List all BusinessMap workspaces' uses a specific verb ('List') and clearly identifies the resource ('BusinessMap workspaces'). This distinguishes it from sibling tools like list_users and list_boards, which clearly operate on different resource types.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context: use this tool to list all workspaces. It does not explicitly mention when not to use it or name alternatives, but the sibling-tool context makes it obvious that this is the workspace-listing tool, differentiating it from user/board/card listers. It lacks explicit exclusions, so a 4 is appropriate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_cardsA

Search for cards by title

Args: query: Search query string board_id: Optional board ID to limit search to specific board limit: Maximum number of results (default: 20)

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
queryYes
board_idNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description is the only source of behavioral information. It states the search action and parameter constraints, but does not disclose match semantics (exact vs. partial, case-sensitivity), result ordering, or that the operation is read-only, though that is somewhat implicit in a search tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise and well-structured: a single-sentence purpose statement followed by a clean Args list. Every sentence adds essential information with no wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple search tool with an output schema (return format already externally defined), the description covers the key invocation details: purpose, all parameters, and optional/default behaviors. It lacks explicit comparison to sibling tools, but is otherwise complete enough to select and invoke the tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has 0% description coverage, but the description compensates fully by explaining each parameter: 'query' as the title search string, 'board_id' as an optional scoping filter, and 'limit' with a default value. This adds meaningful guidance beyond the bare schema property names.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with 'Search for cards by title', which clearly specifies the action, resource, and attribute. It distinguishes search from simple board/user listings by focusing on title-based search, though it does not explicitly name sibling tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context about searching by title with an optional board filter, implying when it should be used. However, it does not explicitly state when to prefer this over sibling tools like get_board_cards or get_user_cards, nor does it mention exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update_cardA

Update an existing card in BusinessMap

Args: card_id: The ID of the card to update title: New title for the card (optional) description: New description for the card (optional)

ParametersJSON Schema
NameRequiredDescriptionDefault
titleNo
card_idYes
descriptionNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Since no annotations are provided, the description carries the full burden for behavioral disclosure. It hints at partial updates by using 'New title' and 'New description', but does not explicitly state whether omitted fields are preserved or any other side effects. It omits information about permissions, return values, or error conditions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise, with a single opening sentence followed by a compact Args list. Every line earns its place, and the structure is easy to scan for the agent.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple update tool with an output schema, the description adequately covers purpose and parameters. However, it leaves ambiguous the update semantics (partial vs full replacement) and does not mention any prerequisites, making it minimally complete but with clear gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has no per-property descriptions (0% coverage), so the description compensates by providing an Args block that explains each parameter's meaning and optionality. This adds real value beyond the raw schema types and enums.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly identifies the tool as 'Update an existing card in BusinessMap', using a specific verb and resource. It distinguishes from sibling tools by specifying 'existing', which differentiates it from create_card.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for modifying existing cards but gives no explicit guidance on when to use this tool versus alternatives like create_card. It does not state any exclusions or prerequisites, relying on the reader to infer the appropriate context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 9 tool updatesv0.1.0
    • First observedcreate_card
    • First observedget_board_cards
    • First observedget_card_details
    • First observedget_user_cards
    • First observedlist_boards
    • First observedlist_users
    • First observedlist_workspaces
    • First observedsearch_cards
    • First observedupdate_card

TDQS

A3.7/5.0
Disambiguation4/5

The tools have mostly distinct purposes: list_* enumerate top-level entities, get_* retrieve cards in different ways, and create/update_card handle mutations. The only potential confusion is between get_board_cards and get_user_cards, both returning cards but with different filters; descriptions clarify this. Search and details are clearly separate.

Naming Consistency4/5

The naming follows a consistent verb_noun pattern with list_, get_, search_, create_, update_. However, get_board_cards and get_user_cards use get_ for what are list-like operations, and get_card_details is oddly specific; a more consistent scheme would be list_cards_by_board and list_cards_by_user.

Tool Count5/5

Nine tools is well-scoped for a BusinessMap integration, covering the core entities (users, workspaces, boards, cards) without redundancy. Each tool serves a clear purpose, and the count is within the ideal range.

Completeness4/5

The card lifecycle is partially covered: read (via board, user, details, search), create, and update title/description. Missing delete_card and card state transitions (e.g., moving between columns) are notable gaps. User, workspace, and board operations are limited to listing, which may be sufficient for context.

Maintenance

ActivityStale
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    A
    maintenance
    Connects MCP-compatible AI tools to ScrumDo boards, enabling card, task, comment, and search operations without manual copy-pasting.
    45
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables AI assistants to manage Planka kanban boards, including creating, updating, and organizing tasks, lists, and cards via MCP.
    15
    59
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    MCP server for interacting with Kaiten project management through its REST API. Enables managing spaces, boards, cards, comments, checklists, tags, and time logs.
    1
    MIT

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/martasd/businessmap-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server