Skip to main content
Glama

grok-bot-mcp

Grok Bot용 MCP 서버 — 모든 AI 에이전트가 여러분의 봇을 제어할 수 있게 해줍니다.

봇 생성, 대화 기록 읽기, 메시지 전송, 기록 검색, 사용량 확인 — 모두 Model Context Protocol을 통해 가능합니다. Claude Desktop, Cursor, Windsurf, Cline, VS Code Copilot 및 모든 MCP 호환 클라이언트에서 작동합니다.

license node deps mcp

함께 사용하기: gbu — Grok Bot 사용량 확인 도구


이 프로젝트가 하는 일

grok-bot-mcp는 AI 에이전트(Claude, Cursor, Copilot 등)를 로컬에서 실행 중인 Grok Bot 인스턴스에 연결해주는 MCP 서버입니다. 설치 후에는 모든 MCP 호환 AI 클라이언트가 다음을 할 수 있습니다:

  • 봇 생성, 목록 조회, 검색, 삭제 — Grok Bot 앱을 열지 않고도 가능

  • 봇에 메시지 전송 및 응답 수신 — AI 편집기에서 직접 가능

  • 대화 기록 읽기 — 모든 봇의 전체 히스토리

  • 모든 봇 메시지 검색 — 로컬 데이터베이스 전체 텍스트 검색

  • 사용량 및 결제 확인 — 주간 사용량 %, 온디맨드 지출, 리셋 시간

  • 로컬 데이터베이스 목록 조회 — 모든 에이전트 store.db 파일과 크기 확인

이 모든 것이 표준화된 MCP 도구 인터페이스를 통해 제공됩니다. 별도의 커스텀 API 통합이 필요 없습니다.

Related MCP server: Grok Web MCP

설치

한 줄 명령 (macOS / Linux):

gh repo clone Kargatharaakash/grok-bot-mcp && cd grok-bot-mcp && sh install.sh

설치 스크립트는 설치된 AI 에이전트를 자동으로 감지하여 각각에 대해 MCP 서버를 구성합니다. 설치 후 AI 에이전트를 재시작하세요.

구성되는 항목:

에이전트

구성 경로

자동 구성

Claude Desktop

~/Library/Application Support/Claude/claude_desktop_config.json

예

Cursor

~/.cursor/mcp.json

예

Windsurf

~/.codeium/windsurf/mcp_config.json

예

Cline

~/.cline/mcp_settings.json

예

Continue

~/.continue/config.json

예

VS Code (Copilot)

워크스페이스 내 .vscode/mcp.json

수동

Claude Code (CLI)

claude mcp add

예

Zed

~/.config/zed/settings.json

수동

도구

MCP 서버는 연결된 모든 AI 에이전트에게 다음 도구를 제공합니다:

에이전트 관리

도구

기능

필수 매개변수

list_bots

모든 Grok Bot 에이전트 목록

없음

create_bot

새 봇 생성

name

delete_bot

ID로 봇 삭제

agentId

search_bots

이름/설명으로 봇 검색

query

메시징

도구

기능

필수 매개변수

send_message

봇에 메시지를 보내고 응답 받기

agentId, message

get_transcript

봇의 대화 기록 읽기

agentId

데이터베이스

도구

기능

필수 매개변수

list_databases

모든 로컬 에이전트 데이터베이스 목록

없음

read_transcript_entries

store.db에서 원시 대화 항목 읽기

agentId

search_messages

모든 봇 대화 기록 전체 텍스트 검색

query

사용량

도구

기능

필수 매개변수

check_usage

주간 사용량 및 온디맨드 지출 확인

없음

작동 방식

AI Agent (Claude / Cursor / Copilot / Windsurf / etc.)
        │
        │ MCP Protocol (JSON-RPC over stdio)
        ▼
   grok-bot-mcp server
        │
        ├── Grok Bot Gateway ──► http://127.0.0.1:<port>/api/<command>
        │                          ├── listAgents, createAgent, sendPrompt...
        │                          └── 100+ gateway commands
        │
        ├── Local SQLite DBs ──► ~/.grokbot/agents/<id>/store.db (read-only)
        │                          └── transcript_entries, kv, blobs
        │
        └── Cursor Usage API ─► api2.cursor.sh (ConnectRPC)
                                   └── GetSandUsageStatus, GetCurrentPeriodUsage

서버는 gateway-descriptor.json을 복호화하여 Grok Bot 게이트웨이를 발견합니다(gbu와 동일한 macOS Keychain 기법). 데이터베이스 쿼리의 경우 로컬 SQLite 파일을 읽기 전용 모드로 직접 읽습니다.

수동 구성

수동으로 구성하려면 MCP 구성 파일에 다음을 추가하세요:

{
  "mcpServers": {
    "grok-bot": {
      "command": "node",
      "args": ["~/.gbm/bin/grok-bot-mcp"]
    }
  }
}

요구 사항

  • Node.js 18+

  • Grok Bot 앱 설치 및 실행 중 (게이트웨이 및 키체인 접근용)

  • macOS (게이트웨이 발견 및 키체인 복호화용; 파일이 존재하면 데이터베이스 읽기는 모든 OS에서 작동)

테스트

테스트는 목(mock)을 사용합니다 — 실제 Grok Bot 호출, 네트워크, 데이터베이스 쓰기 없음:

node --test tests/*.test.mjs

보안

  • 읽기 전용 데이터베이스 접근 — 모든 SQLite 쿼리에 PRAGMA query_only = 1 적용

  • MCP 응답에 비밀 정보 없음 — 토큰은 AI 에이전트에게 절대 반환되지 않음

  • 게이트웨이 토큰은 시작 시 복호화 — 디스크에 절대 기록되지 않음

  • 로컬 전용 — stdio 전송, 네트워크 서버 노출 없음

  • 텔레메트리 없음 — 127.0.0.1(게이트웨이) 및 api2.cursor.sh(사용량) 외에는 호출 없음

제거

rm -rf ~/.gbm

그런 다음 AI 에이전트의 MCP 구성 파일에서 grok-bot 항목을 제거하세요.

함께 보기

gbu — Grok Bot 사용량 확인 CLI. 터미널에서 다중 계정 사용량 확인 가능. 동일한 토큰 관리, 동일한 API, 다른 인터페이스(CLI vs MCP).

라이선스

MIT


#GrokBot #MCP #ModelContextProtocol #Cursor #Claude #AI #DeveloperTools #Automation

⭐ 이 프로젝트가 여러분의 AI 에이전트가 봇을 제어할 수 있게 해주었다면 스타를 눌러주세요.


면책 조항

이 프로젝트는 학습 및 연구 목적으로 만들어진 독립적인 교육용 도구입니다. Cursor, Anysphere, Grok, Grok Bot, SpaceXAI, xAI, SpaceX 또는 기타 회사, 제품, 단체와 제휴, 보증, 후원 또는 관련이 없습니다.

이 저장소에 언급된 모든 제품 이름, 로고, 상표 및 등록 상표는 해당 소유자의 자산입니다. 이름이나 로고의 사용은 식별 및 교육적 참고용일 뿐이며, 보증, 파트너십 또는 제휴를 의미하지 않습니다.

이 도구는 로컬에서 실행 중인 애플리케이션과 공개적으로 접근 가능한 API 엔드포인트를, 사용자가 이미 보유한 자격 증명을 사용하여 상호 작용합니다. 인증을 우회하거나, 보호된 콘텐츠를 스크래핑하거나, 비공개 시스템에 접근하지 않습니다. 이 도구와 함께 사용하는 모든 플랫폼의 서비스 약관을 준수할 책임은 전적으로 사용자에게 있습니다.

이 프로젝트의 작성자와 기여자는 이 소프트웨어 사용으로 인해 발생하는 손해, 계정 조치 또는 결과에 대해 어떠한 책임도 지지 않습니다. 사용에 따른 판단은 사용자의 책임입니다.

Available Tools

11 tools
check_usageA

Check weekly usage, quota percentage, remaining requests, and on-demand spend for Cursor / Grok Bot accounts. If account='all', returns usage for all saved accounts.

ParametersJSON Schema
NameRequiredDescriptionDefault
accountNoOptional account name to check (e.g. 'main', 'company', or 'all'). If omitted, checks the currently active account.

TDQS

A3.6/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 burden. The verb "Check" and the returned metrics imply a non-mutating read, and the description does disclose the all-accounts behavior, but it says nothing about authentication requirements, rate limits, or whether values are cached/live.

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?

Two sentences, no filler, with the core metrics front-loaded and the account-scoping special case appended. Every clause earns its place.

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 one-parameter read tool with no output schema, the description usefully enumerates what comes back (usage, quota %, remaining requests, spend), which compensates for the absent output schema. It stops short of describing formats or units, leaving a minor gap.

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?

Schema description coverage is 100% and the single account parameter is fully documented in the schema, including the 'all' value and the default (currently active account). The description's mention of account='all' repeats schema content rather than adding syntax or edge-case meaning, so the baseline of 3 applies.

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?

States a specific verb ("Check") and enumerates the exact resources surfaced: weekly usage, quota percentage, remaining requests, and on-demand spend, scoped to Cursor / Grok Bot accounts. No sibling tool overlaps this concern, so an agent can distinguish it immediately from switch_account, list_bots, and the transcript tools.

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 second sentence covers what account='all' returns, but that is parameter behavior, not usage guidance. There is no statement of when to call this tool versus other account tools, no prerequisites, and no exclusions.

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

create_botC

Create a new Grok Bot agent instance with a specific name and task description.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesName for the new bot (e.g. 'Research Assistant')
descriptionNoWhat this bot should do (e.g. 'Researches companies and summarizes news')

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 of behavioral disclosure, but it only restates that a bot is created. It says nothing about side effects, whether names must be unique, what permissions are needed, or what happens to any conflicting existing bot.

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?

A single efficient sentence with the action front-loaded and no filler. It is appropriately sized for a two-parameter creation tool, though it is not maximally information-dense.

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 creation tool with full schema coverage the description is close to adequate, but with no output schema it should have said what comes back (e.g. a bot ID needed for send_message or get_transcript) and whether the description field is optional despite name being required.

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?

Schema coverage is 100%, so both parameters are already documented in the schema with examples, and the description adds nothing beyond a paraphrase of them. Baseline 3 applies when the schema does the heavy lifting.

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 states a specific verb+resource: 'Create a new Grok Bot agent instance', and names the two inputs that define it. It is clear on its own, but does not explicitly differentiate itself from siblings like list_bots or delete_bot, leaving the agent to infer the distinction from the names.

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 when-to-use guidance, no mention of prerequisites (e.g. account context, quotas) and no reference to alternative tools such as search_bots for finding existing bots before creating one. Usage is only implied by the verb 'create'.

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

delete_botC

Permanently delete a Grok Bot agent by its agent ID.

ParametersJSON Schema
NameRequiredDescriptionDefault
agentIdYesThe ID of the bot to delete

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 carries the full burden. It does say 'Permanently', which correctly signals irreversibility, but it omits whether auth/ownership is required, whether related data is deleted, and whether the operation is idempotent or fails on missing IDs. For a destructive tool with zero annotation coverage, this is thin.

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?

One compact sentence, front-loaded with the verb and the irreversible nature of the operation. No filler or redundant clauses.

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?

For a destructive operation with no annotations, no output schema, and no guidance on preconditions or side effects, the definition is incomplete. It answers what the tool does but leaves the agent without the context needed to call it safely.

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?

Schema coverage is 100% and the single agentId parameter is fully documented in the schema itself. The description repeats the 'by its agent ID' idea but adds no syntax, format, or sourcing guidance beyond the schema. Baseline 3 is appropriate when the schema does the heavy lifting.

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?

States a specific verb ('Permanently delete') and resource ('Grok Bot agent') plus the identifier used to target it. It's clear against siblings like create_bot and list_bots, though it doesn't explicitly name an alternative. The output would be stronger if it clarified irreversibility vs a soft-delete sibling, but there is no such sibling here.

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 only says what the tool does, not when to use it. There is no condition for choosing delete_bot over other bot operations, no prerequisite (e.g., ownership or confirmation), and no warning about when not to use it. With a destructive delete, the absence of usage guidance is a notable gap.

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

get_transcriptB

Read the conversation transcript of a Grok Bot agent in chronological order.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax number of messages to return (default: 50)
agentIdYesThe ID of the bot

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are supplied, so the description carries the full behavioral burden. It does disclose ordering (chronological), which is useful, but says nothing about pagination semantics, default vs. maximum limit behavior, error handling for unknown agent IDs, or whether the read is non-destructive.

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?

A single, well-formed sentence with the resource and ordering constraint front-loaded and no filler. Nothing could be removed without losing information.

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?

With no annotations and no output schema, the description is thin for a tool whose key ambiguity is how `limit` interacts with chronological order (first 50 vs. last 50 messages). It is minimally adequate but leaves meaningful interpretive gaps for an agent to resolve.

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?

Schema description coverage is 100%, so the meanings of agentId and limit are already fully documented in the schema. The description adds no extra parameter nuance (e.g., whether limit truncates the newest or oldest messages), so the baseline of 3 is appropriate.

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 states a specific verb (Read), an unambiguous resource (conversation transcript), a scope (a Grok Bot agent), and an ordering guarantee (chronological). It is clear, though it never distinguishes itself from the sibling read_transcript_entries, so an agent must guess which transcript reader applies.

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 statement of when to use this tool versus read_transcript_entries or search_messages, and no prerequisites (e.g., needing a valid agentId) are mentioned. Usage can only be inferred from the name and the agentId requirement.

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

list_botsA

List all Grok Bot agents (bots) currently running or registered on this machine. Returns agent IDs, names, origins, and descriptions.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.7/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. It discloses the return fields (agent IDs, names, origins, descriptions) and the scope (running or registered on this machine), but says nothing about the read-only nature, ordering, pagination, or permissions, which is a gap for an annotation-free 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?

Two tight sentences with the action and scope front-loaded and the return contents following. No filler or 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?

No output schema exists, so the description rightly enumerates the returned fields, and with zero parameters and no annotations there is little else required. It could add read-only/pagination notes but is largely sufficient for a simple list tool.

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 takes zero parameters, so the baseline is 4. There are no parameters whose semantics need explaining, and the description correctly implies a parameterless enumeration.

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 gives a specific verb and resource ("List all Grok Bot agents") and scopes it ("currently running or registered on this machine"). It is clear what the tool does, though it does not explicitly name how it differs from the sibling search_bots beyond the word "all".

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?

Usage is only implied: an agent can infer this is the unfiltered enumeration of bots, in contrast to search_bots. There is no explicit when-to-use/when-not-to-use guidance or named alternative, so the agent must infer the choice.

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

list_databasesA

List all local Grok Bot SQLite database files on this machine, showing agent IDs and file sizes.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.5/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 behavioral burden. It does disclose the return content (agent IDs and file sizes) and implies a read-only listing, but says nothing about permissions, ordering, or behavior when no databases exist.

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?

A single sentence with the resource and scope front-loaded and the output content appended. Nothing is wasted and nothing needs trimming.

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 read tool with no output schema and no annotations, the description covers what it is, where it looks, and what it returns. Only minor gaps remain, such as ordering or the empty-result case, which are low-stakes here.

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 takes zero parameters, so there is no parameter semantics for the description to add. Baseline 4 applies; the description cannot be penalized for omitting parameter detail that does not exist.

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?

Specific verb ('List') and resource ('local Grok Bot SQLite database files on this machine'), plus the returned fields (agent IDs, file sizes). It implicitly separates itself from logical-entity siblings like list_bots by scoping to filesystem database files, but it does not explicitly name how it differs from 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 when-to-use guidance, no prerequisites, and no alternatives named. With siblings such as list_bots and search_bots in the same family, the agent is left to infer when a database listing is the right call.

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

read_transcript_entriesB

Directly read raw transcript entries from a bot's local SQLite database without network overhead.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax entries to return (default: 100)
agentIdYesThe ID of the bot

TDQS

B3.3/5.0
Behavior3/5

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

With no annotations, the description carries the full behavioral burden. It does disclose meaningful traits — direct local SQLite access, raw (unprocessed) entries, no network calls — which is more than the schema offers. However, it omits permission/auth needs, whether results are ordered or truncated, and what 'raw' changes versus a formatted transcript.

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?

A single, tightly written sentence that front-loads the verb and resource with zero filler. Nothing could be removed without losing information.

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 2-parameter tool with no annotations and no output schema, the description covers the what and the local-access nature but leaves the return shape, entry ordering, and the semantics of 'raw' vs. a formatted transcript unexplained. Adequate but with clear gaps for an agent deciding between this and get_transcript.

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?

Schema coverage is 100%, so both agentId and limit are already documented by the schema, including the default of 100. The description adds no parameter-level detail beyond what the schema provides, so the baseline of 3 applies.

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?

States a specific verb (read) and resource (raw transcript entries) with scope (a bot's local SQLite database). It gestures at a distinction from network-based fetching ('without network overhead') but never names the obvious sibling get_transcript, so sibling differentiation is left to inference.

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 explicit when-to-use guidance, no prerequisites, and no named alternative even though get_transcript is an obvious candidate. The 'without network overhead' phrase hints at a rationale but never tells the agent when this tool should be preferred over the network-based sibling.

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

search_botsB

Search for Grok Bot agents matching a keyword in their name or description.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesSearch query keyword

TDQS

B3.2/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It doesn't disclose match semantics (substring, case sensitivity), result limits, pagination, empty-result behavior, or ordering. Only the searchable fields are hinted at.

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?

One sentence, front-loaded with the verb and resource, no filler. Slightly abbreviated but nothing wasteful.

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?

For a search tool with no annotations and no output schema, the description should say more about matching behavior and result handling (limits, ordering, empty results). The name/description scope is there but the behavioral envelope is absent.

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?

Schema coverage is 100% for the single 'query' parameter, giving a baseline of 4 for zero/one-parameter tools with full schema documentation. The description adds context that the keyword targets name or description, which is modest value beyond the schema's 'Search query keyword'.

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?

Clear verb ('Search') and resource ('Grok Bot agents'), with scope narrowed to name/description fields. It distinguishes itself from list_bots (no filter) and search_messages (different resource), though it doesn't explicitly name the alternative.

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?

Usage is implied by 'search ... matching a keyword', suggesting use when you have a keyword rather than browsing. But there's no explicit when-to-use vs list_bots or statement of what happens when no match is found.

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

search_messagesC

Search across all local bot transcripts for messages containing a keyword.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax results to return (default: 20)
queryYesKeyword to search for across conversations

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description carries the full behavioral burden, yet it does not state how matching works (substring, whole word, case sensitivity), whether it searches user and bot messages, or how results are ordered. Only the scope ('all local bot transcripts') is disclosed, leaving meaningful behavioral gaps for a search operation.

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?

A single front-loaded sentence with no filler or redundancy. It is efficient, though the brevity contributes to the missing behavioral detail noted elsewhere.

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 two-parameter tool with no output schema and no annotations, the description covers scope but omits match semantics and result shape. It is the minimum viable amount of information to call the tool, but not enough for the agent to predict what comes back.

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?

Schema description coverage is 100%, so both the 'query' keyword and 'limit' default are already documented in the schema. The description adds only the notion that the query is a keyword compared against transcripts, which is marginal beyond what the schema states – baseline 3 applies.

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?

States a specific verb (search) and resource (messages across all local bot transcripts), with the scope 'all local bot transcripts' implicitly distinguishing it from get_transcript and read_transcript_entries, which operate on a single transcript. It does not explicitly name those siblings, so the differentiation is inferable rather than stated.

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 when-to-use guidance and names no alternatives, so the agent must infer that keyword lookup is preferable to get_transcript or read_transcript_entries. No exclusions or prerequisites are provided.

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

send_messageB

Send a message or user prompt to a Grok Bot agent and receive its response.

ParametersJSON Schema
NameRequiredDescriptionDefault
agentIdYesThe ID of the bot to send the message to
messageYesThe text message to send

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It hints at synchronous behavior ('receive its response') but omits whether the message is persisted in the transcript, whether the call blocks until completion, timeout/rate-limit behavior, and what happens on agent errors.

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?

A single front-loaded sentence with no filler. Every element earns its place: the action, the target, and the fact that a response is returned.

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 two-parameter tool with no output schema and no annotations, the description covers the core action but leaves return shape, blocking behavior, and side effects unstated. It is minimally viable rather than complete.

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?

Schema description coverage is 100%, so 'agentId' and 'message' are already documented in the input schema. The description adds only the framing of 'message or user prompt' and does not extend parameter meaning further, making the baseline 3 appropriate.

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 states a specific verb (send) and resource (message/user prompt to a Grok Bot agent) and even notes the response comes back. It clearly separates this from siblings like search_messages or get_transcript by naming the distinct resource type, though it never explicitly contrasts itself with those siblings.

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 when-to-use guidance, no prerequisites, and no mention of alternatives. The agent must infer that this is the tool for interacting with a bot versus reading transcripts or searching messages.

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

switch_accountA

Switch the active account for Cursor / Grok Bot across both CLI/MCP and the macOS Grok Bot desktop application. Next time you open the Grok Bot desktop app, it will launch directly into this account.

ParametersJSON Schema
NameRequiredDescriptionDefault
accountYesName of the account to switch to (e.g. 'main', 'company').

TDQS

A3.8/5.0
Behavior3/5

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

With no annotations, the description carries the full behavioral burden. It usefully discloses one side effect ('Next time you open the Grok Bot desktop app, it will launch directly into this account'), but says nothing about auth/permission requirements, reversibility, or whether an in-flight CLI session is affected. Partial disclosure only.

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?

Two tightly written sentences, front-loaded with the core action and scope, then the persistence detail. Every sentence earns its place with no 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 single-parameter, no-output-schema tool this covers purpose, scope, and the key persistence effect. It could still note whether an active session is disrupted or what happens to the previously active account, but the definition is adequate for a low-complexity tool.

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?

Schema coverage is 100% and the 'account' parameter is well documented in the schema with examples ('main', 'company'). The description adds no meaning beyond the schema, so the baseline of 3 applies.

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?

States a specific verb ('Switch') and resource ('the active account') with explicit scope: Cursor / Grok Bot across CLI/MCP and the macOS desktop app. This clearly distinguishes it from the bot/message-oriented siblings like list_bots and send_message.

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 when the tool is relevant (to change the active account) but offers no explicit when-to-use rules, prerequisites, or alternatives. No sibling competes for this function, so the omission is minor, but guidance is only implied.

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.

  1. 11 tool updatesv1.3.0
    • First observedcheck_usage
    • First observedcreate_bot
    • First observeddelete_bot
    • First observedget_transcript
    • First observedlist_bots
    • First observedlist_databases
    • First observedread_transcript_entries
    • First observedsearch_bots
    • First observedsearch_messages
    • First observedsend_message
    • First observedswitch_account

TDQS

A3.5/5.0

Scored across 11 tools

Disambiguation4/5

Most tools target clear distinct operations (account vs bot lifecycle vs transcript vs database). However, get_transcript, read_transcript_entries, and search_messages all operate over transcript data, and list_bots vs search_bots overlap, which could cause occasional misselection.

Naming Consistency5/5

All 11 tools follow a consistent snake_case verb_noun pattern (check_usage, switch_account, list_bots, create_bot, delete_bot, send_message, get_transcript, search_bots, list_databases, read_transcript_entries, search_messages). No mixed conventions.

Tool Count5/5

11 tools is well within the ideal 3-15 range and each covers a meaningful slice of the domain (accounts, bots, transcripts, databases). Nothing feels redundant or padded.

Completeness4/5

Core lifecycle is covered: list/search/create/delete bots, send/get messages, and query databases. Minor gaps exist, e.g. no update_bot and no tool to add/list accounts beyond check_usage/switch_account, but agents can work around these.

Maintenance

ActivityMaintained
ResponsivenessUnresponsive

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    D
    maintenance
    Enables interaction with the Grok AI through an MCP server, supporting chat completions, text completions, embeddings, and model operations with streaming capabilities.
    5
    21 npm
    7
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    Automates Grok web interface to provide chat, web search, and conversation management via MCP, supporting multiple accounts and local/remote deployment.
    -
  • A
    license
    Not graded
    quality
    A
    maintenance
    Enables MCP clients like Codex and Claude Code to start or continue conversations with Grok Build, track progress, read completed answers, and cancel running turns using an existing Grok login.
    1
    Apache 2.0