Server Configuration
Describes the environment variables required to run the server.
Name | Required | Description | Default |
---|---|---|---|
GITHUB_TOKEN | Yes | GitHub Personal Access Token with 'repo' scope |
Schema
Prompts
Interactive templates invoked by user choice
Name | Description |
---|---|
No prompts |
Resources
Contextual data attached and managed by the client
Name | Description |
---|---|
No resources |
Tools
Functions exposed to the LLM to take actions
Name | Description |
---|---|
get_github_pr_diff | Fetches the diff of a specific pull request from a GitHub repository.
Args:
repo_owner (str): The owner of the GitHub repository.
repo_name (str): The name of the GitHub repository.
pr_number (int): The pull request number to fetch the diff for.
Returns:
str: The diff of the pull request as a string. Returns an empty string if no changes are found,
or an error message string if an exception occurs.
Error Handling:
Logs and returns the error message if an exception is raised during the fetch operation.
|
get_github_pr_content | First use get_pr_diff to fetch the diff of a specific pull request from a GitHub repository.
Then, if you still need more context use get_pr_content to fetch the content of the pull request.
Fetches the content of a GitHub pull request for a given repository and PR number.
Args:
repo_owner (str): The owner of the GitHub repository.
repo_name (str): The name of the GitHub repository.
pr_number (int): The pull request number to fetch.
Returns:
Dict[str, Any]: A dictionary containing the pull request information if successful, or an empty dictionary if no information is found or an error occurs.
Error Handling:
Logs an error message and prints the traceback to stderr if an exception is raised during the fetch operation. Returns an empty dictionary in case of errors.
|
update_github_pr_description | Updates the title and description of a GitHub pull request.
Args:
repo_owner (str): The owner of the repository.
repo_name (str): The name of the repository.
pr_number (int): The pull request number to update.
new_title (str): The new title for the pull request.
new_description (str): The new description for the pull request.
Returns:
str: A message indicating the result of the update operation. Returns a success message if the update is successful, or an error message if an exception occurs.
Error Handling:
Catches and logs any exceptions that occur during the update process. If an error is encountered, the error message is logged and returned.
|
add_github_pr_comment | Adds a comment to a GitHub pull request.
Args:
repo_owner (str): The owner of the repository.
repo_name (str): The name of the repository.
pr_number (int): The pull request number to add the comment to.
comment (str): The comment text to be added.
Returns:
str: A message indicating the result of the comment addition. Returns a success message if the comment is added successfully, or an error message if an exception occurs.
Error Handling:
Catches and logs any exceptions that occur during the comment addition process. If an error is encountered, the error message is logged and returned.
|
create_github_issue | Creates a GitHub issue in the specified repository.
Then use add_github_pr_comment to link the issue to the PR with comment "Resolves #<issue_number>".
Args:
repo_owner (str): The owner of the GitHub repository.
repo_name (str): The name of the GitHub repository.
title (str): The title of the issue to be created.
body (str): The body content of the issue.
labels (list[str]): A list of labels to assign to the issue.
Returns:
str: A message indicating the result of the issue creation. Returns a success message if the issue is created successfully, or an error message if an exception occurs.
Error Handling:
Logs and returns an error message if an exception is raised during the issue creation process. The exception traceback is also printed to stderr for debugging purposes.
|
update_github_issue | Updates a GitHub issue with the specified parameters.
Args:
repo_owner (str): The owner of the GitHub repository.
repo_name (str): The name of the GitHub repository.
issue_number (int): The number of the issue to update.
title (str): The new title for the issue.
body (str): The new body content for the issue.
labels (list[str]): A list of labels to assign to the issue.
state (str): The state to set for the issue (e.g., 'open', 'closed').
Returns:
str: A message indicating whether the issue was updated successfully or an error occurred.
Error Handling:
Logs and returns an error message if an exception occurs during the update process.
|
create_github_tag | Creates a GitHub tag for the specified repository.
Args:
repo_owner (str): The owner of the GitHub repository.
repo_name (str): The name of the GitHub repository.
tag_name (str): The name of the tag to create.
message (str): The message associated with the tag.
Returns:
str: A success message if the tag is created successfully, or an error message if an exception occurs.
Error Handling:
Logs and returns an error message if the tag creation fails due to an exception.
|
create_github_release | Creates a GitHub release for the specified repository and tag.
Args:
repo_owner (str): The owner of the GitHub repository.
repo_name (str): The name of the GitHub repository.
tag_name (str): The tag name to create the release from.
release_name (str): The name of the release to be created.
body (str): The description or body content of the release.
Returns:
str: A success message if the release is created successfully, or an error message if an exception occurs.
Error Handling:
Logs and returns an error message if the release creation fails due to an exception.
|
get_ipv4_ipv6_info | Fetches IPv4 and IPv6 information.
This function retrieves IPv4 and IPv6 address information using the `self.ip` interface.
If either IPv4 or IPv6 information is unavailable, it logs the event and returns an empty dictionary.
If both are available, the IPv6 address is added to the IPv4 info dictionary under the "ipv6" key.
Returns:
Dict[str, Any]: A dictionary containing IPv4 information, with the IPv6 address included if available.
Returns an empty dictionary if either IPv4 or IPv6 information is missing or if an error occurs.
Error Handling:
Logs any exceptions encountered during the fetching process and returns an empty dictionary.
|