Skip to content

Schema quality: 20 required parameters missing descriptions, 92 optional parameters undescribed #2425

@blackwell-systems

Description

@blackwell-systems

Running static schema analysis on the GitHub MCP server reveals 112 issues (20 errors, 92 warnings) across 26 tools. The most impactful: required parameters with no description, which forces AI agents to guess what values to provide.

Summary:

Severity Count Impact
Error (E103) 20 Required parameters with no description
Warning (W102) 72 Optional parameters with no description
Warning (W103) 20 Required string params with no enum/pattern/example

Examples of what agents see:

create_issue requires title and body with no description. An agent doesn't know:

  • Is body plain text or markdown?
  • What's the maximum length?
  • Should title include a prefix like [BUG]?

search_repositories requires query with no description. An agent doesn't know:

  • Is this GitHub search syntax (language:go stars:>100)?
  • Or plain text?
  • What qualifiers are available?

create_pull_request requires title, body, head, base with no descriptions. An agent must guess:

  • Is head a branch name or a ref like refs/heads/feature?
  • Is base required to be main or can it be any branch?

What good parameter descriptions look like:

{
  "name": "query",
  "type": "string",
  "description": "GitHub search query using search syntax (e.g. 'language:go stars:>100'). See https://docs.github.com/en/search-github/searching-on-github"
}

How this was found:

mcp-assert lint --server "npx -y @modelcontextprotocol/server-github"

Adding descriptions to required parameters would significantly reduce agent misuse of these tools.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions