Skip to content

Discussions toolset: allow for org-level Discussions to be queried with list_discussions #671

@tadasant

Description

@tadasant

I prepared this Issue with Claude Code and edited/reviewed it heavily, but did not audit its specific code references, so apologies if e.g. line numbers are not quite precise; consider it pseudocode but hopefully it's pretty actionable.

Related to: #670 (but I broke this out since it's perhaps a slightly more controversial design decision to make)

Describe the feature or problem you'd like to solve

Some GitHub organizations host their discussions at the organization level (e.g., https://github.com/orgs/modelcontextprotocol/discussions), but the current GitHub MCP Server's discussions toolset cannot access these discussions.

Current limitation:

  • list_discussions requires both owner and repo parameters
  • No way to query organization-level discussions
  • Users must know the hidden implementation detail that org discussions live in the .github repository (and even then, it's not accessible via the MCP server)

Organization discussions appear to be stored in a special .github repository within the organization. This can be queried via GraphQL:

query {
  repository(owner: "modelcontextprotocol", name: ".github") {
    discussions(first: 3, orderBy: {field: UPDATED_AT, direction: DESC}) {
      nodes {
        number
        title
        url
      }
    }
  }
}

This successfully returns discussions like:

  • 493: "Reconnection should re-send initialization"
  • 492: "Order of Elicitation Parameters"
  • 491: "Exclude tools?"

Proposed solution

Option 1: Make repo parameter optional in list_discussions
When repo is omitted, automatically query the .github repository:

// In list_discussions handler
if repo == "" {
    repo = ".github"  // Default to org discussions repo
}

Option 2: Create a dedicated list_organization_discussions tool
A new tool specifically for organization-level discussions:

mcp.NewTool("list_organization_discussions",
    mcp.WithDescription("List discussions at the organization level"),
    mcp.WithString("org",
        mcp.Required(),
        mcp.Description("Organization name"),
    ),
    // ... other parameters like orderBy, direction, etc.
)

Example prompts or workflows (for tools/toolsets only)

  1. "Show me all discussions in the modelcontextprotocol organization"

    • Query org-level discussions without needing to know about .github repo
  2. "Monitor community discussions across our entire organization"

    • Access centralized org discussions for community management
  3. "Find unanswered questions in our organization's Q&A discussions"

    • Filter org-level discussions by category and state
  4. "Generate a report of most active organization-wide discussions"

    • Sort org discussions by activity to identify hot topics
  5. "Track discussions from external contributors across the organization"

    • Monitor org-level discussions for community engagement metrics

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions

      pFad - Phonifier reborn

      Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

      Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


      Alternative Proxies:

      Alternative Proxy

      pFad Proxy

      pFad v3 Proxy

      pFad v4 Proxy