MCP server help

MonsterOps MCP Server

Connect MCP-capable AI tools to MonsterOps company data through a Streamable HTTP endpoint. Use API v3 GraphQL for direct product automation.

Endpoint: POST /mcp
Auth Header: Authorization: Bearer YOUR_API_KEY
Protocol: JSON-RPC 2.0
MCP server help

Authentication And Scope

Use the same organization API key that powers the GraphQL API, with the Bearer prefix.

Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
Accept: application/json, text/event-stream
MCP tool calls are scoped to the teams allowed on the API key. If the key is limited to one team, MCP only returns data from that team.

MCP URLs

Environment URL
Production https://api.monsterops.io/mcp

Supported JSON-RPC Methods

Method Description
initialize Negotiates MCP protocol version and capabilities.
notifications/initialized Completes initialization. Returns HTTP 202.
tools/list Lists available MonsterOps tools.
tools/call Calls a MonsterOps tool by name.
ping Health check for the MCP session.

Initialize And Discover Tools

Initialize Request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "initialize",
  "params": {
    "protocolVersion": "2025-11-25",
    "capabilities": {},
    "clientInfo": {
      "name": "Example AI client",
      "version": "1.0.0"
    }
  }
}

List Tools

{
  "jsonrpc": "2.0",
  "id": 2,
  "method": "tools/list",
  "params": {}
}

Available Tools

Tool Description
get_account_context Read the user, company, team scope, and accessible teams.
list_team_members List accessible teams and assigned users.
list_users List visible organization users with teams, roles, permissions, and XP.
list_news List recent news items the API key can access.
list_rocks List rocks with owner, status, due date, milestones, and notes.
list_kpis List KPIs with targets, owner, status, and recent values.
list_todos List to-dos with owner, priority, status, due date, and notes.
list_issues List issues with owner, priority, timeframe, status, and notes.
list_objectives List objectives and related rocks.
list_core_values List company core values.
get_org_chart List roles and reporting relationships.
list_meetings List recent meetings with agenda, owner, status, and digest context.

Call A Tool

Object Metadata

Objects include a nullable metadata string of at most 256 characters. Set it through the object's existing create or update tool, including nested rock milestones. Omit it to preserve the current value, or send null to clear it. Metadata is stored and returned exactly as supplied, without truncation. Longer values are rejected.

For example, update_rock accepts metadata alongside team_idx and rock_idx. Existing object permissions apply. external_id is internal and cannot be read or supplied through client MCP.

Paginate List Results

All list_* tools accept optional limit and page arguments. The default limit is 20, the maximum is 50, and pages start at 1. Omitted or null arguments use the defaults.

Each response includes pagination with page, limit, total_count, total_pages, and next_page. Keep the same limit and request next_page until it is null to retrieve every accessible result.

For example, 86 accessible rocks take five pages at the default limit, or two pages with a limit of 50. Names are returned in full. Shortened descriptions have description_truncated: true. Notes use content_truncated, meeting notes use notes_truncated, and meeting digest summaries use summary_truncated. These flags are false when text is not shortened.

list_team_members paginates teams and includes all members of each returned team.

{
  "jsonrpc": "2.0",
  "id": 4,
  "method": "tools/call",
  "params": {
    "name": "list_rocks",
    "arguments": { "limit": 50, "page": 2 }
  }
}

Filter Team Item Lists

Use "me" in owner_idx, user_idx, or other *_user_idx arguments to refer to the user attached to the API key. This also works in nested objects, such as rock milestone owners, and for OAuth connections. MCP replaces it with that user's prefixed idx before applying the usual validation and permissions. For example, get_user accepts { "user_idx": "me" }, and list_todos accepts { "owner_idx": "me", "completed": false }.

list_news, list_todos, list_rocks, list_kpis, and list_issues accept team_idx and owner_idx, separately or together. A team filter includes KPIs shared into that team. The API key must have access to the selected team.

Additional filters depend on the item type:

  • News: completed, archived.
  • To-dos: completed, archived, priorities.
  • Rocks: completed, archived, statuses.
  • Issues: solved, archived, priorities, timeframe.
  • KPIs: snoozed. KPIs have no archived or solved state.

Boolean filters accept true or false. Omit a filter or pass null to include both states. priorities is a non-empty array of integers from 0 to 5. timeframe is short_term or long_term. statuses is a non-empty array containing any of backlog, planned, on-track, at-risk, off-track, completed, or canceled. Rocks without a status count as backlog; completed rocks include canceled rocks.

Filters combine with AND; entries within priorities or statuses match with OR. Pagination counts reflect only matching items. Keep the same filters when requesting the next page. Unsupported filters and invalid values return errors instead of silently broadening the results.

{
  "jsonrpc": "2.0",
  "id": 6,
  "method": "tools/call",
  "params": {
    "name": "list_issues",
    "arguments": {
      "team_idx": "team_example",
      "owner_idx": "user_example",
      "solved": false,
      "archived": false,
      "priorities": [4, 5],
      "timeframe": "short_term",
      "limit": 50,
      "page": 1
    }
  }
}

Read Full Object Details

Use get_rock, get_todo, get_issue, get_news, get_kpi, get_objective, get_core_value, get_meeting, get_team, get_user, or get_role with the corresponding prefixed idx.

Each tool requires one argument named for its object, such as rock_idx, todo_idx, or core_value_idx, and returns that object under rock, todo, or core_value. The same API-key organization and team permissions apply.

Detail responses preserve full text, include all notes, and do not limit detail collections. Rocks include milestones; KPIs include all values and their notes; meetings include the full transcript, notes, digest, and meeting steps. Related objects are identified by prefixed idx for further lookups.

{
  "jsonrpc": "2.0",
  "id": 5,
  "method": "tools/call",
  "params": {
    "name": "get_rock",
    "arguments": { "rock_idx": "rock_example" }
  }
}

Request

{
  "jsonrpc": "2.0",
  "id": 3,
  "method": "tools/call",
  "params": {
    "name": "get_account_context",
    "arguments": {}
  }
}

Response Shape

{
  "jsonrpc": "2.0",
  "id": 3,
  "result": {
    "content": [
      {
        "type": "text",
        "text": "{ ... }"
      }
    ],
    "structuredContent": {
      "scope": {
        "mode": "all_accessible_teams"
      }
    },
    "isError": false
  }
}

curl Example

curl https://api.monsterops.io/mcp \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  --data '{
    "jsonrpc": "2.0",
    "id": 2,
    "method": "tools/list",
    "params": {}
  }'