Merge branch 'main' into feat__github-issue-tools

This commit is contained in:
Jerad Bitner 2024-12-03 13:21:50 -08:00 • committed by GitHub
commit 54782ed9f7
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
19 changed files with 88 additions and 19 deletions

View file

@ -3,8 +3,8 @@
## Description
## Server Details
<!-- If modifying an existing server or adding a new one, provide details -->
- Server: <!-- e.g., filesystem, github, new-server-name -->
<!-- If modifying an existing server, provide details -->
- Server: <!-- e.g., filesystem, github -->
- Changes to: <!-- e.g., tools, resources, prompts -->
## Motivation and Context
@ -18,7 +18,6 @@
## Types of changes
<!-- What types of changes does your code introduce? Put an `x` in all the boxes that apply: -->
- [ ] New MCP Server
- [ ] Bug fix (non-breaking change which fixes an issue)
- [ ] New feature (non-breaking change which adds functionality)
- [ ] Breaking change (fix or feature that would cause existing functionality to change)
@ -27,7 +26,7 @@
## Checklist
<!-- Go over all the following points, and put an `x` in all the boxes that apply. -->
- [ ] I have read the [MCP Protocol Documentation](https://modelcontextprotocol.io)
- [ ] My server follows MCP security best practices
- [ ] My changes follows MCP security best practices
- [ ] I have updated the server's README accordingly
- [ ] I have tested this with an LLM client
- [ ] My code follows the repository's style guidelines

View file

@ -33,8 +33,11 @@ Official integrations are maintained by companies building production ready MCP
- <img height="12" width="12" src="https://cdn.simpleicons.org/cloudflare" /> **[Cloudflare](https://github.com/cloudflare/mcp-server-cloudflare)** - Deploy, configure & interrogate your resources on the Cloudflare developer platform (e.g. Workers/KV/R2/D1)
- **[Raygun](https://github.com/MindscapeHQ/mcp-server-raygun)** - Interact with your crash reporting and real using monitoring data on your Raygun account
- <img height="12" width="12" src="https://e2b.dev/favicon.ico" alt="E2B Logo" /> **[E2B](https://github.com/e2b-dev/mcp-server)** - Run code in secure sandboxes hosted by [E2B](https://e2b.dev)
- **[Neon](https://github.com/neondatabase/mcp-server-neon)** - Interact with the Neon serverless Postgres platform
- **[Tinybird](https://github.com/tinybirdco/mcp-tinybird)** - Interact with Tinybird serverless ClickHouse platform
- <img height="12" width="12" src="https://www.tinybird.co/favicon.ico" alt="Tinybird Logo" /> **[Tinybird](https://github.com/tinybirdco/mcp-tinybird)** - Interact with Tinybird serverless ClickHouse platform
- <img height="12" width="12" src="https://pics.fatwang2.com/56912e614b35093426c515860f9f2234.svg" /> [Search1API](https://github.com/fatwang2/search1api-mcp) - One API for Search, Crawling, and Sitemaps
- <img height="12" width="12" src="https://qdrant.tech/img/brand-resources-logos/logomark.svg" /> **[Qdrant](https://github.com/qdrant/mcp-server-qdrant/)** - Implement semantic memory layer on top of the Qdrant vector search engine
### 🌎 Community Servers
@ -43,6 +46,8 @@ A growing set of community-developed and maintained servers demonstrates various
> **Note:** Community servers are **untested** and should be used at **your own risk**. They are not affiliated with or endorsed by Anthropic.
- **[MCP Installer](https://github.com/anaisbetts/mcp-installer)** - This server is a server that installs other MCP servers for you.
- **[Spotify MCP](https://github.com/varunneal/spotify-mcp)** - This MCP allows an LLM to play and use Spotify.
- **[Inoyu](https://github.com/sergehuber/inoyu-mcp-unomi-server)** - Interact with an Apache Unomi CDP customer data platform to retrieve and update customer profiles
## 📚 Resources

View file

@ -1,7 +1,7 @@
{
"name": "@modelcontextprotocol/servers",
"private": true,
"version": "0.5.1",
"version": "0.6.1",
"description": "Model Context Protocol servers",
"license": "MIT",
"author": "Anthropic, PBC (https://anthropic.com)",

View file

@ -1,6 +1,6 @@
{
"name": "@modelcontextprotocol/server-brave-search",
"version": "0.5.2",
"version": "0.6.1",
"description": "MCP server for Brave Search API integration",
"license": "MIT",
"author": "Anthropic, PBC (https://anthropic.com)",

View file

@ -1,6 +1,6 @@
{
"name": "@modelcontextprotocol/server-everart",
"version": "0.1.0",
"version": "0.6.1",
"description": "MCP server for EverArt API integration",
"license": "MIT",
"author": "Anthropic, PBC (https://anthropic.com)",

View file

@ -1,6 +1,6 @@
{
"name": "@modelcontextprotocol/server-everything",
"version": "0.5.1",
"version": "0.6.1",
"description": "MCP server that exercises all the features of the MCP protocol",
"license": "MIT",
"author": "Anthropic, PBC (https://anthropic.com)",

View file

@ -1,6 +1,6 @@
{
"name": "@modelcontextprotocol/server-filesystem",
"version": "0.5.1",
"version": "0.6.1",
"description": "MCP server for filesystem access",
"license": "MIT",
"author": "Anthropic, PBC (https://anthropic.com)",

View file

@ -1,6 +1,6 @@
{
"name": "@modelcontextprotocol/server-gdrive",
"version": "0.5.1",
"version": "0.6.1",
"description": "MCP server for interacting with Google Drive",
"license": "MIT",
"author": "Anthropic, PBC (https://anthropic.com)",

View file

@ -53,6 +53,13 @@ Please note that mcp-server-git is currently in early development. The functiona
- `max_count` (number, optional): Maximum number of commits to show (default: 10)
- Returns: Array of commit entries with hash, author, date, and message
8. `git_create_branch`
- Creates a new branch
- Inputs:
- `repo_path` (string): Path to Git repository
- `branch_name` (string): Name of the new branch
- `start_point` (string, optional): Starting point for the new branch
- Returns: Confirmation of branch creation
## Installation
@ -156,6 +163,29 @@ cd path/to/servers/src/git
npx @modelcontextprotocol/inspector uv run mcp-server-git
```
Running `tail -n 20 -f ~/Library/Logs/Claude/mcp*.log` will show the logs from the server and may
help you debug any issues.
## Development
If you are doing local development, there are two ways to test your changes:
1. Run the MCP inspector to test your changes. See [Debugging](#debugging) for run instructions.
2. Test using the Claude desktop app. Add the following to your `claude_desktop_config.json`:
```json
"git": {
"command": "uv",
"args": [
"--directory",
"/<path to mcp-servers>/mcp-servers/src/git",
"run",
"mcp-server-git"
]
}
```
## License
This MCP server is licensed under the MIT License. This means you are free to use, modify, and distribute the software, subject to the terms and conditions of the MIT License. For more details, please see the LICENSE file in the project repository.

View file

@ -39,6 +39,11 @@ class GitLog(BaseModel):
repo_path: str
max_count: int = 10
class GitCreateBranch(BaseModel):
repo_path: str
branch_name: str
base_branch: str | None = None
class GitTools(str, Enum):
STATUS = "git_status"
DIFF_UNSTAGED = "git_diff_unstaged"
@ -47,6 +52,7 @@ class GitTools(str, Enum):
ADD = "git_add"
RESET = "git_reset"
LOG = "git_log"
CREATE_BRANCH = "git_create_branch"
def git_status(repo: git.Repo) -> str:
return repo.git.status()
@ -81,6 +87,15 @@ def git_log(repo: git.Repo, max_count: int = 10) -> list[str]:
)
return log
def git_create_branch(repo: git.Repo, branch_name: str, base_branch: str | None = None) -> str:
if base_branch:
base = repo.refs[base_branch]
else:
base = repo.active_branch
repo.create_head(branch_name, base)
return f"Created branch '{branch_name}' from '{base.name}'"
async def serve(repository: Path | None) -> None:
logger = logging.getLogger(__name__)
@ -132,6 +147,11 @@ async def serve(repository: Path | None) -> None:
description="Shows the commit logs",
inputSchema=GitLog.schema(),
),
Tool(
name=GitTools.CREATE_BRANCH,
description="Creates a new branch from an optional base branch",
inputSchema=GitCreateBranch.schema(),
),
]
async def list_repos() -> Sequence[str]:
@ -218,6 +238,17 @@ async def serve(repository: Path | None) -> None:
text="Commit history:\n" + "\n".join(log)
)]
case GitTools.CREATE_BRANCH:
result = git_create_branch(
repo,
arguments["branch_name"],
arguments.get("base_branch")
)
return [TextContent(
type="text",
text=result
)]
case _:
raise ValueError(f"Unknown tool: {name}")

View file

@ -1,6 +1,6 @@
{
"name": "@modelcontextprotocol/server-github",
"version": "0.5.1",
"version": "0.6.1",
"description": "MCP server for using the GitHub API",
"license": "MIT",
"author": "Anthropic, PBC (https://anthropic.com)",

View file

@ -1,6 +1,6 @@
{
"name": "@modelcontextprotocol/server-gitlab",
"version": "0.5.1",
"version": "0.6.1",
"description": "MCP server for using the GitLab API",
"license": "MIT",
"author": "GitLab, PBC (https://gitlab.com)",

View file

@ -1,6 +1,6 @@
{
"name": "@modelcontextprotocol/server-google-maps",
"version": "0.5.1",
"version": "0.6.1",
"description": "MCP server for using the Google Maps API",
"license": "MIT",
"author": "Anthropic, PBC (https://anthropic.com)",

View file

@ -1,6 +1,6 @@
{
"name": "@modelcontextprotocol/server-memory",
"version": "0.5.1",
"version": "0.6.1",
"description": "MCP server for enabling memory for Claude through a knowledge graph",
"license": "MIT",
"author": "Anthropic, PBC (https://anthropic.com)",

View file

@ -1,6 +1,6 @@
{
"name": "@modelcontextprotocol/server-postgres",
"version": "0.5.1",
"version": "0.6.1",
"description": "MCP server for interacting with PostgreSQL databases",
"license": "MIT",
"author": "Anthropic, PBC (https://anthropic.com)",

View file

@ -1,6 +1,6 @@
{
"name": "@modelcontextprotocol/server-puppeteer",
"version": "0.5.1",
"version": "0.6.1",
"description": "MCP server for browser automation using Puppeteer",
"license": "MIT",
"author": "Anthropic, PBC (https://anthropic.com)",

View file

@ -0,0 +1,4 @@
from mcp_server_sentry.server import main
if __name__ == "__main__":
main()

View file

@ -1,6 +1,6 @@
{
"name": "@modelcontextprotocol/server-sequential-thinking",
"version": "0.1.0",
"version": "0.6.1",
"description": "MCP server for sequential thinking and problem solving",
"license": "MIT",
"author": "Anthropic, PBC (https://anthropic.com)",

View file

@ -1,6 +1,6 @@
{
"name": "@modelcontextprotocol/server-slack",
"version": "0.5.1",
"version": "0.6.1",
"description": "MCP server for interacting with Slack",
"license": "MIT",
"author": "Anthropic, PBC (https://anthropic.com)",