Skip to content

Add support for pretty printing json output #113

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
mntlty opened this issue Apr 5, 2025 · 0 comments · Fixed by #114
Closed

Add support for pretty printing json output #113

mntlty opened this issue Apr 5, 2025 · 0 comments · Fixed by #114
Assignees

Comments

@mntlty
Copy link
Collaborator

mntlty commented Apr 5, 2025

When running the server on stdio, the JSON output can be hard to read for humans. It would be nice to have a flag that allows for pretty printing the output.

Current behavior:

GitHub MCP Server running on stdio
{"jsonrpc":"2.0","id":3,"params":{},"method":"tools/list"}
{"jsonrpc":"2.0","id":3,"result":{"tools":[{"description":"Add a comment to an existing issue","inputSchema":{"type":"object","properties":{"body":{"description":"Comment text","type":"string"},"issue_number":{"description":"Issue number to comment on","type":"number"},"owner":{"description":"Repository owner","type":"string"},"repo":{"description":"Repository name","type":"string"}},"required":["owner","repo","issue_number","body"]},"name":"add_issue_comment"},{"description":"Create a new branch in a GitHub repository","inputSchema":{"type":"object","properties":{"branch":{"description":"Name for new branch","type":"string"},"from_branch":{"description":"Source branch (defaults to repo default)","type":"string"},"owner":{"description":"Repository owner","type":"string"},"repo":{"description":"Repository name","type":"string"}},"required":["owner","repo","branch"]},"name":"create_branch"},{"description":"Create a new issue in a GitHub repository","inputSchema":{"type":"object","properties":{"assignees":{"description":"Usernames to assign to this issue","items":{"type":"string"},"type":"array"},"body":{"description":"Issue body content","type":"string"},"labels":{"description":"Labels to apply to this issue","items":{"type":"string"},"type":"array"},"milestone":{"description":"Milestone number","type":"number"},"owner":{"description":"Repository owner","type":"string"},"repo":{"description":"Repository name","type":"string"},"title":{"description":"Issue title","type":"string"}},"required":["owner","repo","title"]},"name":"create_issue"},{"description":"Create or update a single file in a GitHub repository","inputSchema":{"type":"object","properties":{"branch":{"description":"Branch to create/update the file in","type":"string"},"content":{"description":"Content of the file","type":"string"},"message":{"description":"Commit message","type":"string"},"owner":{"description":"Repository owner (username or organization)","type":"string"},"path":{"description":"Path where to create/update the file","type":"string"},"repo":{"description":"Repository name","type":"string"},"sha":{"description":"SHA of file being replaced (for updates)","type":"string"}},"required":["owner","repo","path","content","message","branch"]},"name":"create_or_update_file"},{"description":"Create a new pull request in a GitHub repository","inputSchema":{"type":"object","properties":{"base":{"description":"Branch to merge into","type":"string"},"body":{"description":"PR description","type":"string"},"draft":{"description":"Create as draft PR","type":"boolean"},"head":{"description":"Branch containing changes","type":"string"},"maintainer_can_modify":{"description":"Allow maintainer edits","type":"boolean"},"owner":{"description":"Repository owner","type":"string"},"repo":{"description":"Repository name","type":"string"},"title":{"description":"PR title","type":"string"}},"required":["owner","repo","title","head","base"]},"name":"create_pull_request"},{"description":"Create a review on a pull request","inputSchema":{"type":"object","properties":{"body":{"description":"Review comment text","type":"string"},"comments":{"description":"Line-specific comments array of objects, each object with path (string), position (number), and body (string)","items":{"additionalProperties":false,"properties":{"body":{"description":"comment body","type":"string"},"path":{"description":"path to the file","type":"string"},"position":{"description":"line number in the file","type":"number"}},"required":["path","position","body"],"type":"object"},"type":"array"},"commitId":{"description":"SHA of commit to review","type":"string"},"event":{"description":"Review action ('APPROVE', 'REQUEST_CHANGES', 'COMMENT')","type":"string"},"owner":{"description":"Repository owner","type":"string"},"pullNumber":{"description":"Pull request number","type":"number"},"repo":{"description":"Repository name","type":"string"}},"required":["owner","repo","pullNumber","event"]},"name":"create_pull_request_review"},{"description":"Create a new GitHub repository in your account","inputSchema":{"type":"object","properties":{"autoInit":{"description":"Initialize with README","type":"boolean"},"description":{"description":"Repository description","type":"string"},"name":{"description":"Repository name","type":"string"},"private":{"description":"Whether repo should be private","type":"boolean"}},"required":["name"]},"name":"create_repository"},{"description":"Fork a GitHub repository to your account or specified organization","inputSchema":{"type":"object","properties":{"organization":{"description":"Organization to fork to","type":"string"},"owner":{"description":"Repository owner","type":"string"},"repo":{"description":"Repository name","type":"string"}},"required":["owner","repo"]},"name":"fork_repository"},{"description":"Get details of a specific code scanning alert in a GitHub repository.","inputSchema":{"type":"object","properties":{"alertNumber":{"description":"The number of the alert.","type":"number"},"owner":{"description":"The owner of the repository.","type":"string"},"repo":{"description":"The name of the repository.","type":"string"}},"required":["owner","repo","alertNumber"]},"name":"get_code_scanning_alert"},{"description":"Get the contents of a file or directory from a GitHub repository","inputSchema":{"type":"object","properties":{"branch":{"description":"Branch to get contents from","type":"string"},"owner":{"description":"Repository owner (username or organization)","type":"string"},"path":{"description":"Path to file/directory","type":"string"},"repo":{"description":"Repository name","type":"string"}},"required":["owner","repo","path"]},"name":"get_file_contents"},{"description":"Get details of a specific issue in a GitHub repository.","inputSchema":{"type":"object","properties":{"issue_number":{"description":"The number of the issue.","type":"number"},"owner":{"description":"The owner of the repository.","type":"string"},"repo":{"description":"The name of the repository.","type":"string"}},"required":["owner","repo","issue_number"]},"name":"get_issue"},{"description":"Get details of the authenticated GitHub user. Use this when a request include \"me\", \"my\"...","inputSchema":{"type":"object","properties":{"reason":{"description":"Optional: reason the session was created","type":"string"}}},"name":"get_me"},{"description":"Get details of a specific pull request","inputSchema":{"type":"object","properties":{"owner":{"description":"Repository owner","type":"string"},"pullNumber":{"description":"Pull request number","type":"number"},"repo":{"description":"Repository name","type":"string"}},"required":["owner","repo","pullNumber"]},"name":"get_pull_request"},{"description":"Get the review comments on a pull request","inputSchema":{"type":"object","properties":{"owner":{"description":"Repository owner","type":"string"},"pullNumber":{"description":"Pull request number","type":"number"},"repo":{"description":"Repository name","type":"string"}},"required":["owner","repo","pullNumber"]},"name":"get_pull_request_comments"},{"description":"Get the list of files changed in a pull request","inputSchema":{"type":"object","properties":{"owner":{"description":"Repository owner","type":"string"},"pullNumber":{"description":"Pull request number","type":"number"},"repo":{"description":"Repository name","type":"string"}},"required":["owner","repo","pullNumber"]},"name":"get_pull_request_files"},{"description":"Get the reviews on a pull request","inputSchema":{"type":"object","properties":{"owner":{"description":"Repository owner","type":"string"},"pullNumber":{"description":"Pull request number","type":"number"},"repo":{"description":"Repository name","type":"string"}},"required":["owner","repo","pullNumber"]},"name":"get_pull_request_reviews"},{"description":"Get the combined status of all status checks for a pull request","inputSchema":{"type":"object","properties":{"owner":{"description":"Repository owner","type":"string"},"pullNumber":{"description":"Pull request number","type":"number"},"repo":{"description":"Repository name","type":"string"}},"required":["owner","repo","pullNumber"]},"name":"get_pull_request_status"},{"description":"List code scanning alerts in a GitHub repository.","inputSchema":{"type":"object","properties":{"owner":{"description":"The owner of the repository.","type":"string"},"ref":{"description":"The Git reference for the results you want to list.","type":"string"},"repo":{"description":"The name of the repository.","type":"string"},"severity":{"description":"Only code scanning alerts with this severity will be returned. Possible values are: critical, high, medium, low, warning, note, error.","type":"string"},"state":{"default":"open","description":"State of the code scanning alerts to list. Set to closed to list only closed code scanning alerts. Default: open","type":"string"}},"required":["owner","repo"]},"name":"list_code_scanning_alerts"},{"description":"Get list of commits of a branch in a GitHub repository","inputSchema":{"type":"object","properties":{"owner":{"description":"Repository owner","type":"string"},"page":{"description":"Page number","type":"number"},"perPage":{"description":"Number of records per page","type":"number"},"repo":{"description":"Repository name","type":"string"},"sha":{"description":"Branch name","type":"string"}},"required":["owner","repo"]},"name":"list_commits"},{"description":"List issues in a GitHub repository with filtering options","inputSchema":{"type":"object","properties":{"direction":{"description":"Sort direction ('asc', 'desc')","enum":["asc","desc"],"type":"string"},"labels":{"description":"Filter by labels","items":{"type":"string"},"type":"array"},"owner":{"description":"Repository owner","type":"string"},"page":{"description":"Page number","type":"number"},"per_page":{"description":"Results per page","type":"number"},"repo":{"description":"Repository name","type":"string"},"since":{"description":"Filter by date (ISO 8601 timestamp)","type":"string"},"sort":{"description":"Sort by ('created', 'updated', 'comments')","enum":["created","updated","comments"],"type":"string"},"state":{"description":"Filter by state ('open', 'closed', 'all')","enum":["open","closed","all"],"type":"string"}},"required":["owner","repo"]},"name":"list_issues"},{"description":"List and filter repository pull requests","inputSchema":{"type":"object","properties":{"base":{"description":"Filter by base branch","type":"string"},"direction":{"description":"Sort direction ('asc', 'desc')","type":"string"},"head":{"description":"Filter by head user/org and branch","type":"string"},"owner":{"description":"Repository owner","type":"string"},"page":{"description":"Page number","type":"number"},"per_page":{"description":"Results per page (max 100)","type":"number"},"repo":{"description":"Repository name","type":"string"},"sort":{"description":"Sort by ('created', 'updated', 'popularity', 'long-running')","type":"string"},"state":{"description":"Filter by state ('open', 'closed', 'all')","type":"string"}},"required":["owner","repo"]},"name":"list_pull_requests"},{"description":"Merge a pull request","inputSchema":{"type":"object","properties":{"commit_message":{"description":"Extra detail for merge commit","type":"string"},"commit_title":{"description":"Title for merge commit","type":"string"},"merge_method":{"description":"Merge method ('merge', 'squash', 'rebase')","type":"string"},"owner":{"description":"Repository owner","type":"string"},"pullNumber":{"description":"Pull request number","type":"number"},"repo":{"description":"Repository name","type":"string"}},"required":["owner","repo","pullNumber"]},"name":"merge_pull_request"},{"description":"Push multiple files to a GitHub repository in a single commit","inputSchema":{"type":"object","properties":{"branch":{"description":"Branch to push to","type":"string"},"files":{"description":"Array of file objects to push, each object with path (string) and content (string)","items":{"additionalProperties":false,"properties":{"content":{"description":"file content","type":"string"},"path":{"description":"path to the file","type":"string"}},"required":["path","content"],"type":"object"},"type":"array"},"message":{"description":"Commit message","type":"string"},"owner":{"description":"Repository owner","type":"string"},"repo":{"description":"Repository name","type":"string"}},"required":["owner","repo","branch","files","message"]},"name":"push_files"},{"description":"Search for code across GitHub repositories","inputSchema":{"type":"object","properties":{"order":{"description":"Sort order ('asc' or 'desc')","enum":["asc","desc"],"type":"string"},"page":{"description":"Page number","minimum":1,"type":"number"},"per_page":{"description":"Results per page (max 100)","maximum":100,"minimum":1,"type":"number"},"q":{"description":"Search query using GitHub code search syntax","type":"string"},"sort":{"description":"Sort field ('indexed' only)","type":"string"}},"required":["q"]},"name":"search_code"},{"description":"Search for issues and pull requests across GitHub repositories","inputSchema":{"type":"object","properties":{"order":{"description":"Sort order ('asc' or 'desc')","enum":["asc","desc"],"type":"string"},"page":{"description":"Page number","minimum":1,"type":"number"},"per_page":{"description":"Results per page (max 100)","maximum":100,"minimum":1,"type":"number"},"q":{"description":"Search query using GitHub issues search syntax","type":"string"},"sort":{"description":"Sort field (comments, reactions, created, etc.)","enum":["comments","reactions","reactions-+1","reactions--1","reactions-smile","reactions-thinking_face","reactions-heart","reactions-tada","interactions","created","updated"],"type":"string"}},"required":["q"]},"name":"search_issues"},{"description":"Search for GitHub repositories","inputSchema":{"type":"object","properties":{"page":{"description":"Page number for pagination","type":"number"},"perPage":{"description":"Results per page (max 100)","type":"number"},"query":{"description":"Search query","type":"string"}},"required":["query"]},"name":"search_repositories"},{"description":"Search for GitHub users","inputSchema":{"type":"object","properties":{"order":{"description":"Sort order ('asc' or 'desc')","enum":["asc","desc"],"type":"string"},"page":{"description":"Page number","minimum":1,"type":"number"},"per_page":{"description":"Results per page (max 100)","maximum":100,"minimum":1,"type":"number"},"q":{"description":"Search query using GitHub users search syntax","type":"string"},"sort":{"description":"Sort field (followers, repositories, joined)","enum":["followers","repositories","joined"],"type":"string"}},"required":["q"]},"name":"search_users"},{"description":"Update an existing issue in a GitHub repository","inputSchema":{"type":"object","properties":{"assignees":{"description":"New assignees","items":{"type":"string"},"type":"array"},"body":{"description":"New description","type":"string"},"issue_number":{"description":"Issue number to update","type":"number"},"labels":{"description":"New labels","items":{"type":"string"},"type":"array"},"milestone":{"description":"New milestone number","type":"number"},"owner":{"description":"Repository owner","type":"string"},"repo":{"description":"Repository name","type":"string"},"state":{"description":"New state ('open' or 'closed')","enum":["open","closed"],"type":"string"},"title":{"description":"New title","type":"string"}},"required":["owner","repo","issue_number"]},"name":"update_issue"},{"description":"Update a pull request branch with the latest changes from the base branch","inputSchema":{"type":"object","properties":{"expectedHeadSha":{"description":"The expected SHA of the pull request's HEAD ref","type":"string"},"owner":{"description":"Repository owner","type":"string"},"pullNumber":{"description":"Pull request number","type":"number"},"repo":{"description":"Repository name","type":"string"}},"required":["owner","repo","pullNumber"]},"name":"update_pull_request_branch"}]}}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant