Skip to main content
Glama

get_workplan

Retrieve GitHub issue workplan content to access detailed implementation plans and code feedback for development projects.

Instructions

Retrieves the workplan content (GitHub issue body) for a specified issue number.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
issue_numberYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Implementation Reference

  • The main handler function that executes the get_workplan tool logic. It extracts the repository path from the context and calls get_issue_body to retrieve the GitHub issue body content for the specified issue number.
    async def get_workplan(ctx: Context, issue_number: str) -> str:
        """Retrieves the workplan content for a specified issue number.
    
        Args:
            ctx: Server context.
            issue_number: The GitHub issue number to retrieve.
    
        Returns:
            The workplan content as a string.
    
        Raises:
            YellhornMCPError: If retrieval fails.
        """
        try:
            repo_path: Path = ctx.request_context.lifespan_context["repo_path"]
            return await get_issue_body(repo_path, issue_number)
        except Exception as e:
            raise YellhornMCPError(f"Failed to retrieve workplan: {str(e)}")
  • The @mcp.tool decorator that registers the get_workplan tool with the FastMCP server, including its name and description.
    @mcp.tool(
        name="get_workplan",
        description="Retrieves the workplan content (GitHub issue body) for a specified issue number.",
    )
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 states it's a retrieval operation, implying read-only behavior, but doesn't cover critical aspects like authentication requirements, rate limits, error handling (e.g., if the issue doesn't exist), or response format. The mention of 'GitHub issue body' adds some context, but overall, behavioral traits are minimally described for a tool with no annotation coverage.

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, efficient sentence that directly states the tool's purpose without unnecessary words. It's front-loaded with the core action ('retrieves') and resource, making it easy to parse. Every part of the sentence adds value, such as specifying 'GitHub issue body,' and there's no redundancy or fluff.

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 low complexity (one parameter) and the presence of an output schema (which likely covers return values), the description is somewhat complete but has gaps. It adequately explains what the tool does but lacks usage guidelines, behavioral details (like error cases), and doesn't fully compensate for the 0% schema coverage. For a simple retrieval tool, it's minimally viable but could be more informative.

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 adds meaning by specifying that the 'issue_number' parameter corresponds to a GitHub issue, which clarifies its purpose beyond the schema's generic title. However, with 0% schema description coverage and only one parameter, the baseline is 3, as the schema lacks descriptions but the description provides some compensation. It doesn't detail format constraints (e.g., numeric string) or examples, leaving gaps.

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 verb ('retrieves') and resource ('workplan content'), specifying it's the GitHub issue body for a given issue number. It distinguishes from siblings like create_workplan or revise_workplan by focusing on retrieval rather than creation or modification. However, it doesn't explicitly differentiate from other read operations like curate_context or judge_workplan, which may also involve reading workplan data.

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 doesn't mention prerequisites (e.g., needing an existing issue), exclusions (e.g., not for creating or editing), or comparisons to siblings like curate_context or judge_workplan, which might also access workplan content. Usage is implied by the verb 'retrieves,' but no explicit context or alternatives are stated.

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

Install Server

Other Tools

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/msnidal/yellhorn-mcp'

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