space-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| SPACE_TOKEN | No | JetBrains Space personal token. Alternatively, use 'space auth login' to store in keyring or credentials file. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| extensions | {
"io.modelcontextprotocol/ui": {}
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_merge_requestA | Get details of a specific merge request. Args: project: Project key (e.g., "ij" for IntelliJ) repository: Repository name (e.g., "ultimate") review_id: Review/MR identifier (numeric ID or full review ID) Returns: YAML with MR title, state, author, branches, and reviewers. |
| get_merge_request_timelineA | Get the full timeline of a merge request: comments, dry runs, commits, reviews. Returns a chronological markdown timeline with day sections, threaded replies (Patronus dry run results, safe merge status), and code review discussions. Args: project: Project key (e.g., "ij") repository: Repository name (e.g., "ultimate") review_id: Review/MR identifier Returns: Markdown timeline grouped by day, with threaded replies indented. |
| get_merge_requestsA | List merge requests for a repository. Args: project: Project key (e.g., "ij") repository: Repository name (e.g., "ultimate") branch: Optional source branch name to filter by state: Optional state filter: "Opened", "Closed", "Merged", "RequiresAuthorAttention", or "NeedsReview" limit: Maximum number of results (default 1; set to 0 for unlimited) author: Optional author username to filter by (case-insensitive; an unknown username yields a clear "no such user" error) Returns: YAML list of merge requests. |
| put_merge_requestA | Create a new merge request. Args: project: Project key (e.g., "ij") repository: Repository name (e.g., "ultimate") source_branch: Branch with changes (e.g., "azhukova/fix-auth") target_branch: Branch to merge into (e.g., "master") title: MR title description: Optional MR description Returns: YAML with created MR number, title, and branches. |
| patch_merge_requestA | Edit an existing merge request's title and/or description. Omit a field to leave it unchanged; pass "" for Args: title: New title, or omit to leave unchanged. description: New description ("" clears it), or omit to leave unchanged. Returns: YAML with the updated merge request. |
| post_close_merge_requestA | Close a merge request. Args: project: Project key (e.g., "ij") review_id: MR number (e.g., "194108") or internal ID Returns: Confirmation message. |
| post_reopen_merge_requestA | Reopen a closed merge request. The source branch must still exist. If it was deleted on close, re-push it before reopening. Args: project: Project key (e.g., "ij") review_id: MR number (e.g., "194108") or internal ID Returns: Confirmation message. |
| post_merge_request_commentA | Post a general comment on a merge request. Args: project: Project key (e.g., "ij") review_id: MR number (e.g., "194108") or internal ID text: Comment text (Markdown supported) Returns: Confirmation message. |
| post_code_discussionA | Create an inline code discussion on a specific file and line of a merge request. Args: project: Project key (e.g., "ij") review_id: MR number (e.g., "194108") or internal ID repository: Repository name (e.g., "ultimate") revision: Git commit SHA the comment is anchored to filename: File path (e.g., "src/main.py") line: Line number (new side of the diff) text: Comment text (Markdown supported) Returns: Confirmation with file and line reference. |
| post_reply_to_code_discussionA | Reply to an existing code discussion on a merge request. The discussion_channel_id can be found in the timeline output of a merge request. Args: project: Project key (for context only) review_id: MR number (for context only) discussion_channel_id: Channel ID of the code discussion to reply to text: Reply text (Markdown supported) Returns: Confirmation message. |
| post_delete_merge_requestB | Delete a merge request. Args: project: Project key (e.g., "ij") review_id: MR number (e.g., "194108") or internal ID Returns: Confirmation message. |
| get_patronus_runsA | Find Patronus runs (dry runs / safe merges) for a merge request. Use this to discover CI dry runs and safe merge attempts for a merge request. Each run has an ID that can be passed to get_patronus_run. Args: project: Project key (e.g., "ij") review_id: MR number (e.g., "194108") Returns: YAML list of runs with IDs for follow-up queries. |
| get_patronus_runA | Get details of a specific Patronus run including TeamCity build checks and problems. Use the run ID from get_patronus_runs or from a Patronus URL (e.g., https://patronus.labs.jb.gg/robot/). The returned TeamCity build IDs can be inspected further using the teamcity CLI: teamcity run view Args: run_id: Patronus run UUID Returns: YAML with run overview, TeamCity checks, and problems. |
| put_patronus_dry_runA | Start a Patronus dry run for a merge request. Runs all configured quality checks (TeamCity builds) without merging. Use get_patronus_run to track progress. Args: project: Project key (e.g., "ij") review_id: MR number (e.g., "194108") Returns: Markdown with run ID, Patronus URL, and status. On failure, returns actionable guidance on what to do next. |
| post_cancel_patronus_runA | Cancel a running Patronus run (dry run or safe merge). Args: run_id: Patronus run UUID Returns: Confirmation message. |
| get_attachmentA | Download a file attachment from a Space MR discussion. Use the attachment ID from get_merge_request_timeline output (shown as [id: ...] next to each attachment). For text files, returns the file content directly. For binary files, returns the download URL. Args: attachment_id: Attachment UUID Returns: File content (text) or download URL (binary). |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/bindreams/space-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server