Gemini CLI v0.36.0
Signed in with Google: adamoutler@gmail.com /auth
Plan: Gemini Code Assist in Google One AI Ultra
╭─────────────────────────────────────────────────────────────────────────╮
We're making changes to Gemini CLI that may impact your workflow.
What's Changing: We are adding more robust detection of
policy-violating use cases and changing how we prioritize traffic.
How it affects you: This may result in higher capacity-related errors
during periods of high traffic.
Read more: https://goo.gle/geminicli-updates
╰─────────────────────────────────────────────────────────────────────────╯
ℹ You have 1 extension with an update available. Run "/extensions update
chrome-devtools-mcp".
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
> I've provided access to two MCP servers in this workspace. I'd like you
to use them. When completed, please provide a comparitive analysis of
MCP servers "plane" vs "agent" in a pros and cons format. I'm
interested in all feedback.
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
Responding with gemini-3.1-pro-preview
Thinking...
Assessing Next Actions
I'm now zeroing in on the next action. My analysis is progressing. I
will move to the next logical step to ensure I make the right progress.
Testing a Key Command
I'm now going to test the core functionality of a Plane tool. I will
then move on to the next set of functions to verify their functions.
Evaluating Command Execution
I'm now running the calls to both tools. I'm focusing on the responses
to assess their utility and gather key data points for comparison. I
anticipate the results will allow me to better understand the
functionality of each toolset.
╭─────────────────────────────────────────────────────────────────────╮
x get_workspace (plane MCP Server) {}
Error: MCP tool 'get_workspace' reported an error.
search_tickets (agent MCP Server) {"project_slug":"help"}
{
"status": "help",
"message": "Here are the valid options for this workspace.",
"options": {
"projects": [
{
"identifier": "TEST",
"name": "test",
"description": ""
},
{
"identifier": "PLANE",
"name": "plane-mcp",
"description": "Welcome to the Plane Demo Project! This
project throws you into the driver’s seat of Plane, work management
software. Through curated work items, you’ll uncover key features,
pick up best practices, and see how Plane can streamline your
team’s workflow. Whether you’re a startup hungry to scale or an
enterprise sharpening efficiency, this demo is your launchpad to
mastering Plane. Jump in and see what it can do!"
}
],
"states_by_project": {
"TEST": [
"Backlog",
"Todo",
"In Progress",
"Done",
"Cancelled",
"delayed"
],
"PLANE": [
"Backlog",
"Todo",
"In Progress",
"Done",
"Cancelled"
]
},
"labels_by_project": {
"TEST": [
"test issue",
"performance",
"backend",
"enhancement",
"security",
"bug"
],
"PLANE": [
"context-optimization",
"enhancement",
"bug",
"concepts",
"admin"
]
},
"all_states": [
"Backlog",
"Cancelled",
"Done",
"In Progress",
"Todo",
"delayed"
],
"all_labels": [
"admin",
"backend",
"bug",
"concepts",
"context-optimization",
"enhancement",
"performance",
"security",
"test issue"
],
"priorities": [
"urgent",
"high",
"medium",
"low",
"none"
]
}
}
╰─────────────────────────────────────────────────────────────────────╯
╭─────────────────────────────────────────────────────────────────────╮
list_projects (plane MCP Server) {}
[
{
"id": "2dfa76a3-4e73-465e-acda-11a77cfe783c",
"total_members": 1,
"total_cycles": 1,
"total_modules": 0,
"is_member": true,
"sort_order": 55535,
"member_role": 20,
"is_deployed": false,
"cover_image_url":
"/api/assets/v2/static/433e4c4c-43ae-4998-adfa-f2acfa2390de/",
"created_at": "2026-03-20T17:42:30.305954-04:00",
"updated_at": "2026-03-23T17:34:27.567031-04:00",
"deleted_at": null,
"name": "test",
"description": "",
"description_text": null,
"description_html": null,
"network": 2,
"identifier": "TEST",
"emoji": null,
"icon_prop": null,
"module_view": false,
"cycle_view": false,
"issue_views_view": false,
"page_view": true,
"intake_view": false,
"is_time_tracking_enabled": false,
"is_issue_type_enabled": false,
"guest_view_all_features": false,
"cover_image": null,
"archive_in": 0,
"close_in": 0,
"logo_props": {
"emoji": {
"value": "128076"
},
"in_use": "emoji"
},
"archived_at": null,
"timezone": "UTC",
"external_source": null,
"external_id": null,
"created_by": "dca60191-120a-46f8-8e63-3e9099866f38",
"updated_by": "dca60191-120a-46f8-8e63-3e9099866f38",
"workspace": "b961ca95-70ec-4a56-b868-954e0df19a95",
"default_assignee": null,
"project_lead": null,
"cover_image_asset": "433e4c4c-43ae-4998-adfa-f2acfa2390de",
"estimate": null,
"default_state": null
},
{
"id": "0a5ca86e-9393-4b61-ac3b-018b95f711fd",
"total_members": 1,
"total_cycles": 3,
"total_modules": 3,
"is_member": true,
"sort_order": 65535,
"member_role": 20,
"is_deployed": true,
"cover_image_url":
"https://images.unsplash.com/photo-1691230995681-480d86cbc135?auto=
format&fit=crop&q=80&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYW
dlfHx8fGVufDB8fHx8fA%3D%3D&w=870&q=80",
"created_at": "2026-03-20T17:41:05.248929-04:00",
"updated_at": "2026-03-20T17:41:05.248938-04:00",
"deleted_at": null,
"name": "plane-mcp",
"description": "Welcome to the Plane Demo Project! This project
throws you into the driver’s seat of Plane, work management
software. Through curated work items, you’ll uncover key features,
pick up best practices, and see how Plane can streamline your
team’s workflow. Whether you’re a startup hungry to scale or an
enterprise sharpening efficiency, this demo is your launchpad to
mastering Plane. Jump in and see what it can do!",
"description_text": null,
"description_html": null,
"network": 2,
"identifier": "PLANE",
"emoji": null,
"icon_prop": null,
"module_view": true,
"cycle_view": true,
"issue_views_view": true,
"page_view": true,
"intake_view": false,
"is_time_tracking_enabled": false,
"is_issue_type_enabled": false,
"guest_view_all_features": false,
"cover_image":
"https://images.unsplash.com/photo-1691230995681-480d86cbc135?auto=
format&fit=crop&q=80&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYW
dlfHx8fGVufDB8fHx8fA%3D%3D&w=870&q=80",
"archive_in": 0,
"close_in": 0,
"logo_props": {
"emoji": {
"url":
"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1
f447.png",
"value": "128071"
},
"in_use": "emoji"
},
"archived_at": null,
"timezone": "UTC",
"external_source": null,
"external_id": null,
"created_by": null,
"updated_by": null,
"workspace": "b961ca95-70ec-4a56-b868-954e0df19a95",
"default_assignee": null,
"project_lead": null,
"cover_image_asset": null,
"estimate": null,
"default_state": null
}
]
search_tickets (agent MCP Server) {"project_slug":"TEST"}
{
"results": [
{
"ticket_id": "TEST-70",
"name": "A test ticket to compare MCPs",
"description": "",
"priority": "none",
"labels": [],
"state": "Backlog"
},
{
"ticket_id": "TEST-69",
"name": "Plane ticket test",
"description": "",
"priority": "none",
"labels": [],
"state": "Backlog"
},
{
"ticket_id": "TEST-68",
"name": "Agent ticket test",
"description": "",
"priority": "none",
"labels": [],
"state": "Backlog"
},
{
"ticket_id": "TEST-67",
"name": "Implement Redis Caching",
"description": "We need to cache the user profile endpoint.",
"priority": "none",
"labels": [
"performance",
"backend"
],
"state": "Done"
},
{
"ticket_id": "TEST-66",
"name": "Test ticket created via raw Legacy API",
"description": "This ticket was successfully created using
the high-friction legacy API.\n\nUnlike the Agent API, this
required parsing the raw JSON from a prior list request to find the
exact project UUID before executing the POST request.",
"priority": "none",
"labels": [],
"state": "Backlog"
},
{
"ticket_id": "TEST-65",
"name": "Verify seamless switching between Legacy and Agent
MCP tools",
"description": "\\*\\*Context/Reason:\\*\\* This is a test
ticket generated after verifying project existence using the Legacy
MCP API.\nThe test confirms that an agent can seamlessly use both
the legacy `list\\_projects` tool to gather raw backend metadata
(like checking if `\"cycle\\_view\"` is enabled) and the Agent
API's `create\\_ticket` tool to perform high-level workflows within
the same session.\n\\*\\*Files to modify:\\*\\*\n\\* N/A\n### Test
Recommendations\n\\* Verify that the ticket was successfully
created in the TEST project.\n### Definition of Done\n\\* Ticket is
visible on the board.",
"priority": "none",
"labels": [],
"state": "Backlog"
},
{
"ticket_id": "TEST-64",
"name": "Snafoo",
"description": "Search result test",
"priority": "none",
"labels": [],
"state": "Done"
},
{
"ticket_id": "TEST-63",
"name": "Entering Fizzy Dipsnib redirects to disney, should
be Sesame Street",
"description": "**Context/Reason:** An edge-case bug report
indicates an Easter egg or rogue routing logic is redirecting users
to the wrong entertainment property when a specific magical string
and physical sequence is executed.\n\nIf a user inputs the exact
string \"Fizzy Dipsnib\" into the primary text interface, the
application's internal heuristic engine activates a hidden debug
mode. This mode currently contains a hardcoded window location
redirect to `https://disney.com`. Per the updated corporate synergy
guidelines, all whimsical redirects must now point to Sesame
create_ticket (agent MCP Server) {"title":"A test ticket to com
{
"key": "TEST-70"
}
╰─────────────────────────────────────────────────────────────────────╯
Thinking...
Initiating Comparison Process
I'm now starting to execute the comparison, focusing on the differences.
The plan is to get the process running as efficiently as possible. I'll
need to carefully track the results to ensure a thorough evaluation.
Evaluating Issue Creation Methods
I am now proceeding with evaluating the two methods of issue creation.
I'll focus on `mcp_plane_create_issue_raw` and `mcp_agent_create_ticket`
to identify differences in their behavior. Next, I need to create a test
issue using the "plane" method.
Analyzing Data Structure Outputs
I am now focused on examining the output formats of different tools. I'm
investigating how data is structured when created by the "plane" method
versus the "agent" method, in order to perform an efficient comparison.
This will allow me to identify key differences in their data handling,
including information related to the recently created issue.
╭─────────────────────────────────────────────────────────────────────╮
x create_issue_raw (plane MCP Server) {"data":{"name":"Raw issue
Error: MCP tool 'create_issue_raw' reported an error.
x list_issues (plane MCP Server) {"project_id":"2dfa76a3-4e73-465
Error: MCP tool 'list_issues' reported an error.
read_ticket (agent MCP Server) {"ticket_id":"TEST-70"}
{
"ticket_id": "TEST-70",
"name": "A test ticket to compare MCPs",
"description": "",
"priority": "none",
"labels": [],
"state": "Backlog"
}
╰─────────────────────────────────────────────────────────────────────╯
Thinking...
Initiating the Next Phase
I am now focusing on the next phase, which requires accessing a specific
workspace. I'm actively working to overcome the URL issues, but I'm
confident in making quick progress. I am making efforts to ensure data
integrity and accuracy as I approach the goal.
Analyzing Tool Performance
I am now conducting a series of tests to evaluate the performance of
various tools. Each test helps me understand which tools are best suited
for the task. The initial tests highlight inconsistencies, so I'm
analyzing the differences between the agent and plane servers to
determine the appropriate course of action. I am also identifying and
understanding error patterns, to ensure the next step is a success.
╭─────────────────────────────────────────────────────────────────────╮
list_work_items (plane MCP Server) {"project_id":"2dfa76a3-4e73
...is_draft":false,"external_source":null,"external_id":null,"creat
ed_by":"dca60191-120a-46f8-8e63-3e9099866f38","updated_by":"dca6019
1-120a-46f8-8e63-3e9099866f38","project":"2dfa76a3-4e73-465e-acda-1
1a77cfe783c","workspace":"b961ca95-70ec-4a56-b868-954e0df19a95","pa
rent":null,"state":"7af45182-6f50-4656-8d43-7fbfe38ccc7e","estimate
_point":null,"type":null,"assignees":[],"labels":[]},{"id":"d76b7cf
0-1301-4f0d-af34-71f5fdf65d4f","type_id":null,"created_at":"2026-03
-22T10:42:22.707758-04:00","updated_at":"2026-03-22T10:42:23.197756
-04:00","deleted_at":null,"point":null,"name":"Human Readable
Test","description_html":"

","description_stripped":null,"des
cription_binary":null,"priority":"none","start_date":null,"target_d
ate":null,"sequence_id":23,"sort_order":85535.0,"completed_at":"202
6-03-22T10:42:23.168846-04:00","archived_at":null,"is_draft":false,
"external_source":null,"external_id":null,"created_by":"dca60191-12
0a-46f8-8e63-3e9099866f38","updated_by":"dca60191-120a-46f8-8e63-3e
9099866f38","project":"2dfa76a3-4e73-465e-acda-11a77cfe783c","works
pace":"b961ca95-70ec-4a56-b868-954e0df19a95","parent":null,"state":
"7af45182-6f50-4656-8d43-7fbfe38ccc7e","estimate_point":null,"type"
:null,"assignees":[],"labels":[]},{"id":"ac044825-029f-46de-ab64-a6
1831576413","type_id":null,"created_at":"2026-03-22T10:42:03.024632
-04:00","updated_at":"2026-03-22T10:42:03.489450-04:00","deleted_at
":null,"point":null,"name":"Human Readable
Test","description_html":"

","description_stripped":null,"des
cription_binary":null,"priority":"none","start_date":null,"target_d
ate":null,"sequence_id":22,"sort_order":85535.0,"completed_at":"202
6-03-22T10:42:03.466281-04:00","archived_at":null,"is_draft":false,
"external_source":null,"external_id":null,"created_by":"dca60191-12
0a-46f8-8e63-3e9099866f38","updated_by":"dca60191-120a-46f8-8e63-3e
9099866f38","project":"2dfa76a3-4e73-465e-acda-11a77cfe783c","works
pace":"b961ca95-70ec-4a56-b868-954e0df19a95","parent":null,"state":
"7af45182-6f50-4656-8d43-7fbfe38ccc7e","estimate_point":null,"type"
:null,"assignees":[],"labels":[]},{"id":"6b26fa40-c8a9-41cf-bfc9-5f
ae81663153","type_id":null,"created_at":"2026-03-22T10:41:43.624927
-04:00","updated_at":"2026-03-22T10:41:44.143891-04:00","deleted_at
":null,"point":null,"name":"Human Readable
Test","description_html":"

","description_stripped":null,"des
cription_binary":null,"priority":"none","start_date":null,"target_d
ate":null,"sequence_id":21,"sort_order":85535.0,"completed_at":"202
6-03-22T10:41:44.118567-04:00","archived_at":null,"is_draft":false,
"external_source":null,"external_id":null,"created_by":"dca60191-12
0a-46f8-8e63-3e9099866f38","updated_by":"dca60191-120a-46f8-8e63-3e
9099866f38","project":"2dfa76a3-4e73-465e-acda-11a77cfe783c","works
pace":"b961ca95-70ec-4a56-b868-954e0df19a95","parent":null,"state":
"7af45182-6f50-4656-8d43-7fbfe38ccc7e","estimate_point":null,"type"
:null,"assignees":[],"labels":[]},{"id":"6737bedf-83a7-477c-8992-93
83f1f33c03","type_id":null,"created_at":"2026-03-22T10:41:11.521088
-04:00","updated_at":"2026-03-22T10:41:11.966364-04:00","deleted_at
":null,"point":null,"name":"Human Readable
Test","description_html":"

","description_stripped":null,"des
cription_binary":null,"priority":"none","start_date":null,"target_d
ate":null,"sequence_id":20,"sort_order":85535.0,"completed_at":"202
6-03-22T10:41:11.946823-04:00","archived_at":null,"is_draft":false,
"external_source":null,"external_id":null,"created_by":"dca60191-12
0a-46f8-8e63-3e9099866f38","updated_by":"dca60191-120a-46f8-8e63-3e
9099866f38","project":"2dfa76a3-4e73-465e-acda-11a77cfe783c","works
pace":"b961ca95-70ec-4a56-b868-954e0df19a95","parent":null,"state":
Output too long and was saved to:
/home/adamoutler/.gemini/tmp/test/tool-outputs/session-8ed05838-481
4-4751-af0a-86d795e14053/mcp_plane_list_work_items_1775141321793_0.
txt
update_ticket (agent MCP Server) {"new_title":"Updated ticket t
{
"key": "TEST-70",
"status": "success",
"message": "Ticket updated successfully."
}
transition_ticket (agent MCP Server) {"ticket_id":"TEST-70","st
{
"name": "A test ticket to compare MCPs",
"priority": "none",
"state": "In Progress",
"assignees": [],
"key": "TEST-70"
}
╰─────────────────────────────────────────────────────────────────────╯
Thinking...
Progressing Towards the Goal
I'm now zeroing in on the subsequent stage. I'm focusing on the next
immediate task. I anticipate a smoother pathway moving forward.
Summarizing Key Findings
I'm now prioritizing the most relevant data. I'm focusing on the
strengths and limitations of the information available. I'm aiming for a
concise and understandable presentation.
Here is a comparative analysis of the "Plane" vs. "Agent" MCP servers
based on my testing and exploration of their tools:
Overall Verdict
The Agent MCP Server is significantly better suited for daily workflow
management, agentic automation, and token efficiency. The Plane MCP
Server is a comprehensive but low-level wrapper that is currently
suffering from routing bugs and high friction, making it less practical
for immediate issue management but potentially useful for deep
administrative tasks (if the bugs are resolved).
---
1. Agent MCP Server (mcp_agent_* tools)
Overview:
A purpose-built, high-level wrapper designed to reduce friction for AI
agents. It abstracts away the complexity of UUIDs and provides
streamlined macros for standard workflows.
Pros:
* Low Friction & Human-Readable: It uses standard project slugs (e.g.,
TEST) and ticket identifiers (e.g., TEST-70). You do not need to
perform preliminary searches to find UUIDs for projects, states, or
labels before taking action.
* Token Efficient: The outputs are incredibly concise. A ticket search
returns only the necessary fields (ticket_id, name, description,
priority, labels, state), saving massive amounts of context window
space.
* Workflow Macros: Tools like mcp_agent_begin_work and
mcp_agent_complete_work bundle multiple operations together (e.g.,
adding to a cycle and transitioning state simultaneously), which
reduces the number of tool calls required.
* Reliability: All tested tools (search_tickets, create_ticket,
update_ticket, transition_ticket) worked flawlessly on the first
attempt.
Cons:
* Limited Scope: It focuses strictly on issue/ticket management. It does
not provide access to workspace configuration, user management, or
deep project metadata.
* Abstracted Data: If an agent needs to know raw database timestamps,
specific UUID relationships, or network topologies, the Agent server
hides this data.
---
2. Plane MCP Server (mcp_plane_* tools)
Overview:
A direct, exhaustive mapping of the underlying Plane API. It exposes
nearly every possible endpoint for granular administrative control.
Pros:
* Comprehensive API Coverage: It covers the entire Plane ecosystem,
including Epics, Modules, Intake, Initiatives, Workspace features, and
granular property definitions.
* Deep Metadata: Returns exhaustive JSON payloads with exact timestamps,
system UUIDs, sorting orders, and raw HTML descriptions. Useful for
deep programmatic analysis or migrations.
Cons:
* Current Routing Bugs: Several endpoints are broken. For example,
get_workspace, list_issues, and create_issue_raw currently fail with a
404 Not Found due to a malformed URL path in the backend wrapper (it
duplicates /api/v1/ as /api/v1/api/v1/workspaces/plane-mcp/...).
* High Friction (UUID Reliance): To create or update an issue, the agent
must first perform multiple queries to gather the specific project_id,
state_id, type_id, etc., as UUIDs. It cannot operate simply on
"TEST-70" or the "In Progress" state string.
* Context Bloat: The output from endpoints like list_work_items returns
thousands of characters of verbose JSON (including null fields and
redundant structural data), which quickly bloats the context window
and slows down agent reasoning.
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
> I believe there may have been a problem with your methodology. Can you
try this? `create_work_item({"name":"Plane ticket
test","project_id":"2dfa76a3-4e73-465e-acda-11a77cfe783c"})`
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
Responding with gemini-3.1-pro-preview
Thinking...
Planning Work Item Creation
I'm now formulating the steps to create the work item. I will use the
appropriate tool to fulfill this task. I am working on the appropriate
parameters for the work item.
Implementing Work Item Creation
I am now focused on executing the plan to create the work item. I will
use the tool designed for this purpose. I am inputting the required
project details to ensure the work item is created in the correct
context.
╭─────────────────────────────────────────────────────────────────────╮
create_work_item (plane MCP Server) {"name":"Plane ticket test"
{
"id": "914b0c42-ce27-4021-a313-c774f9d8201e",
"type_id": null,
"created_at": "2026-04-02T10:54:31.524434-04:00",
"updated_at": "2026-04-02T10:54:31.524448-04:00",
"deleted_at": null,
"point": null,
"name": "Plane ticket test",
"description_html": "

",
"description_stripped": null,
"description_binary": null,
"priority": "none",
"start_date": null,
"target_date": null,
"sequence_id": 71,
"sort_order": 385535,
"completed_at": null,
"archived_at": null,
"is_draft": false,
"external_source": null,
"external_id": null,
"created_by": "dca60191-120a-46f8-8e63-3e9099866f38",
"updated_by": null,
"project": "2dfa76a3-4e73-465e-acda-11a77cfe783c",
"workspace": "b961ca95-70ec-4a56-b868-954e0df19a95",
"parent": null,
"state": "fd6a0b7d-36f3-45b7-b03d-0b4f54a0d82a",
"estimate_point": null,
"type": null,
"assignees": [],
"labels": []
}
╰─────────────────────────────────────────────────────────────────────╯
Thinking...
Delivering Final Findings
I'm now fully focused on creating a concise report. I'm working to
summarize my analysis for the user, ensuring clarity. I'm aiming for a
straightforward presentation of the results, providing all relevant
information.
You are absolutely right. My methodology in the previous test was flawed
because I used the create_issue_raw tool instead of the correct
create_work_item tool.
I just tested mcp_plane_create_work_item using the project UUID, and it
successfully created the ticket (Sequence ID: 71, UUID:
914b0c42-ce27-4021-a313-c774f9d8201e).
Here is an updated comparative analysis based on this correction:
Updated Comparative Analysis: Plane vs. Agent MCP Servers
---
1. Agent MCP Server (mcp_agent_*)
Best For: Daily workflow automation, high-speed task execution, and
conversational context efficiency.
Pros:
* Human-Readable Input: Operates on standard project slugs (e.g., TEST)
and ticket identifiers (e.g., TEST-70).
* Zero-Friction Routing: You don't need to perform preliminary searches
or list requests to find UUIDs for projects or states before taking
action.
* Context/Token Efficient: Search and read outputs are highly optimized,
returning only necessary fields (ticket ID, name, description, state,
priority). This keeps the LLM context window lean.
* Workflow Macros: Includes bundled operations like begin_work and
complete_work, which combine state transitions and cycle assignments
into a single call.
Cons:
* Scope Limited to Work Items: Focuses almost entirely on tickets,
comments, and basic lifecycle management.
* Hides Metadata: Abstracts away granular backend data (raw timestamps,
custom properties, system network topologies) that might be needed for
administrative reporting.
---
2. Plane MCP Server (mcp_plane_*)
Best For: Deep workspace administration, bulk migrations, advanced
relationship mapping, and accessing full system metadata.
Pros:
* Exhaustive API Coverage: Provides 1:1 access to the entire Plane
backend. This includes managing Epics, Modules, Milestones,
Initiatives, custom Work Item Properties, and Workspace settings.
* Granular Data Retrieval: Returns complete, unadulterated JSON
payloads. This is crucial if an agent is tasked with building complex
analytics dashboards, managing user access roles, or evaluating raw
HTML descriptions vs. stripped text.
* Complete Control: Allows for precise manipulation of every field
(e.g., setting explicit sort_order, managing description_html
directly, or linking multi-tier parent/child ticket hierarchies).
Cons:
* High-Friction Execution (UUID Reliance): To perform a simple action
like creating a ticket, an agent must first query for the project_id
UUID, and potentially query for specific state_id or type_id UUIDs.
This requires multiple sequential tool calls.
* Context Bloat: Endpoints like list_work_items return massive JSON
arrays containing every system field (including many nulls). This
rapidly consumes token context and can slow down the agent's ability
to process the core conversational goal.
* Path/Routing Instability: While create_work_item works perfectly, some
legacy/raw tools (like list_issues, create_issue_raw, and
get_workspace) still fail due to a URL path duplication bug
(/api/v1/api/v1/).
Conclusion
The Agent Server is the clear winner for executing standard, day-to-day
project management tasks (creating, updating, and moving tickets) due to
its speed, human-readable identifiers, and context efficiency.
The Plane Server is a powerful administrative tool. While it is too
verbose and friction-heavy for simple ticket creation, it is the
necessary and superior choice when tasked with complex project setup,
configuring modules/epics, or extracting deep reporting metadata.
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
> While you were working, I noticed what I consider to be extra
information in the help response from the `agent` MCP. Please create a
ticket to reduce the context by removing this, if you agree.
```
"all_states": [
│ "Backlog",
│ "Cancelled",
│ "Done",
│ "In Progress",
│ "Todo",
│ "delayed"
│ ],
│ "all_labels": [
│ "admin",
│ "backend",
│ "bug",
│ "concepts",
│ "context-optimization",
│ "enhancement",
│ "performance",
│ "security",
│ "test issue"
│ ],
```
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
Responding with gemini-3.1-pro-preview
Thinking...
Crafting a new ticket
I'm now focused on the specifics of the ticket. I will proceed to
specify a title that encapsulates the core issue. Following that, I'll
provide a detailed description to ensure clarity and context for the
task, highlighting the rationale behind the necessary changes. After
that, I will select relevant labels to categorize the ticket
appropriately, making it easier to track and prioritize.
╭─────────────────────────────────────────────────────────────────────╮
create_ticket (agent MCP Server) {"title":"Remove redundant `al
{
"key": "TEST-72"
}
╰─────────────────────────────────────────────────────────────────────╯
I completely agree with your observation. Providing global all_states and
all_labels alongside the states_by_project and labels_by_project objects
is redundant. The global lists add no unique value and actively work
against the context-optimization goals of the Agent server by bloating
the JSON response.
I have created a ticket to track this issue: [TEST-72] Remove redundant
all_states and all_labels from Agent MCP help response.
● YOLO
───────────────────────────────────────────────────────────────────────────
● YOLO
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
* Type your message or @path/to/file
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄