Skip to content

Commit 54782ed

Browse files
authored
Merge branch 'main' into feat__github-issue-tools
2 parents 506eaba + a096c95 commit 54782ed

File tree

19 files changed

+88
-19
lines changed

19 files changed

+88
-19
lines changed

.github/pull_request_template.md

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@
33
## Description
44

55
## Server Details
6-
<!-- If modifying an existing server or adding a new one, provide details -->
7-
- Server: <!-- e.g., filesystem, github, new-server-name -->
6+
<!-- If modifying an existing server, provide details -->
7+
- Server: <!-- e.g., filesystem, github -->
88
- Changes to: <!-- e.g., tools, resources, prompts -->
99

1010
## Motivation and Context
@@ -18,7 +18,6 @@
1818

1919
## Types of changes
2020
<!-- What types of changes does your code introduce? Put an `x` in all the boxes that apply: -->
21-
- [ ] New MCP Server
2221
- [ ] Bug fix (non-breaking change which fixes an issue)
2322
- [ ] New feature (non-breaking change which adds functionality)
2423
- [ ] Breaking change (fix or feature that would cause existing functionality to change)
@@ -27,7 +26,7 @@
2726
## Checklist
2827
<!-- Go over all the following points, and put an `x` in all the boxes that apply. -->
2928
- [ ] I have read the [MCP Protocol Documentation](https://modelcontextprotocol.io)
30-
- [ ] My server follows MCP security best practices
29+
- [ ] My changes follows MCP security best practices
3130
- [ ] I have updated the server's README accordingly
3231
- [ ] I have tested this with an LLM client
3332
- [ ] My code follows the repository's style guidelines

README.md

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,11 @@ Official integrations are maintained by companies building production ready MCP
3333

3434
- <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)
3535
- **[Raygun](https://github.com/MindscapeHQ/mcp-server-raygun)** - Interact with your crash reporting and real using monitoring data on your Raygun account
36+
- <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)
3637
- **[Neon](https://github.com/neondatabase/mcp-server-neon)** - Interact with the Neon serverless Postgres platform
37-
- **[Tinybird](https://github.com/tinybirdco/mcp-tinybird)** - Interact with Tinybird serverless ClickHouse platform
38+
- <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
39+
- <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
40+
- <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
3841

3942
### 🌎 Community Servers
4043

@@ -43,6 +46,8 @@ A growing set of community-developed and maintained servers demonstrates various
4346
> **Note:** Community servers are **untested** and should be used at **your own risk**. They are not affiliated with or endorsed by Anthropic.
4447
4548
- **[MCP Installer](https://github.com/anaisbetts/mcp-installer)** - This server is a server that installs other MCP servers for you.
49+
- **[Spotify MCP](https://github.com/varunneal/spotify-mcp)** - This MCP allows an LLM to play and use Spotify.
50+
- **[Inoyu](https://github.com/sergehuber/inoyu-mcp-unomi-server)** - Interact with an Apache Unomi CDP customer data platform to retrieve and update customer profiles
4651

4752
## 📚 Resources
4853

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "@modelcontextprotocol/servers",
33
"private": true,
4-
"version": "0.5.1",
4+
"version": "0.6.1",
55
"description": "Model Context Protocol servers",
66
"license": "MIT",
77
"author": "Anthropic, PBC (https://anthropic.com)",

src/brave-search/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@modelcontextprotocol/server-brave-search",
3-
"version": "0.5.2",
3+
"version": "0.6.1",
44
"description": "MCP server for Brave Search API integration",
55
"license": "MIT",
66
"author": "Anthropic, PBC (https://anthropic.com)",

src/everart/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@modelcontextprotocol/server-everart",
3-
"version": "0.1.0",
3+
"version": "0.6.1",
44
"description": "MCP server for EverArt API integration",
55
"license": "MIT",
66
"author": "Anthropic, PBC (https://anthropic.com)",

src/everything/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@modelcontextprotocol/server-everything",
3-
"version": "0.5.1",
3+
"version": "0.6.1",
44
"description": "MCP server that exercises all the features of the MCP protocol",
55
"license": "MIT",
66
"author": "Anthropic, PBC (https://anthropic.com)",

src/filesystem/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@modelcontextprotocol/server-filesystem",
3-
"version": "0.5.1",
3+
"version": "0.6.1",
44
"description": "MCP server for filesystem access",
55
"license": "MIT",
66
"author": "Anthropic, PBC (https://anthropic.com)",

src/gdrive/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@modelcontextprotocol/server-gdrive",
3-
"version": "0.5.1",
3+
"version": "0.6.1",
44
"description": "MCP server for interacting with Google Drive",
55
"license": "MIT",
66
"author": "Anthropic, PBC (https://anthropic.com)",

src/git/README.md

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,13 @@ Please note that mcp-server-git is currently in early development. The functiona
5353
- `max_count` (number, optional): Maximum number of commits to show (default: 10)
5454
- Returns: Array of commit entries with hash, author, date, and message
5555

56+
8. `git_create_branch`
57+
- Creates a new branch
58+
- Inputs:
59+
- `repo_path` (string): Path to Git repository
60+
- `branch_name` (string): Name of the new branch
61+
- `start_point` (string, optional): Starting point for the new branch
62+
- Returns: Confirmation of branch creation
5663

5764
## Installation
5865

@@ -156,6 +163,29 @@ cd path/to/servers/src/git
156163
npx @modelcontextprotocol/inspector uv run mcp-server-git
157164
```
158165

166+
Running `tail -n 20 -f ~/Library/Logs/Claude/mcp*.log` will show the logs from the server and may
167+
help you debug any issues.
168+
169+
## Development
170+
171+
If you are doing local development, there are two ways to test your changes:
172+
173+
1. Run the MCP inspector to test your changes. See [Debugging](#debugging) for run instructions.
174+
175+
2. Test using the Claude desktop app. Add the following to your `claude_desktop_config.json`:
176+
177+
```json
178+
"git": {
179+
"command": "uv",
180+
"args": [
181+
"--directory",
182+
"/<path to mcp-servers>/mcp-servers/src/git",
183+
"run",
184+
"mcp-server-git"
185+
]
186+
}
187+
```
188+
159189
## License
160190

161191
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.

src/git/src/mcp_server_git/server.py

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,11 @@ class GitLog(BaseModel):
3939
repo_path: str
4040
max_count: int = 10
4141

42+
class GitCreateBranch(BaseModel):
43+
repo_path: str
44+
branch_name: str
45+
base_branch: str | None = None
46+
4247
class GitTools(str, Enum):
4348
STATUS = "git_status"
4449
DIFF_UNSTAGED = "git_diff_unstaged"
@@ -47,6 +52,7 @@ class GitTools(str, Enum):
4752
ADD = "git_add"
4853
RESET = "git_reset"
4954
LOG = "git_log"
55+
CREATE_BRANCH = "git_create_branch"
5056

5157
def git_status(repo: git.Repo) -> str:
5258
return repo.git.status()
@@ -81,6 +87,15 @@ def git_log(repo: git.Repo, max_count: int = 10) -> list[str]:
8187
)
8288
return log
8389

90+
def git_create_branch(repo: git.Repo, branch_name: str, base_branch: str | None = None) -> str:
91+
if base_branch:
92+
base = repo.refs[base_branch]
93+
else:
94+
base = repo.active_branch
95+
96+
repo.create_head(branch_name, base)
97+
return f"Created branch '{branch_name}' from '{base.name}'"
98+
8499
async def serve(repository: Path | None) -> None:
85100
logger = logging.getLogger(__name__)
86101

@@ -132,6 +147,11 @@ async def list_tools() -> list[Tool]:
132147
description="Shows the commit logs",
133148
inputSchema=GitLog.schema(),
134149
),
150+
Tool(
151+
name=GitTools.CREATE_BRANCH,
152+
description="Creates a new branch from an optional base branch",
153+
inputSchema=GitCreateBranch.schema(),
154+
),
135155
]
136156

137157
async def list_repos() -> Sequence[str]:
@@ -218,6 +238,17 @@ async def call_tool(name: str, arguments: dict) -> list[TextContent]:
218238
text="Commit history:\n" + "\n".join(log)
219239
)]
220240

241+
case GitTools.CREATE_BRANCH:
242+
result = git_create_branch(
243+
repo,
244+
arguments["branch_name"],
245+
arguments.get("base_branch")
246+
)
247+
return [TextContent(
248+
type="text",
249+
text=result
250+
)]
251+
221252
case _:
222253
raise ValueError(f"Unknown tool: {name}")
223254

0 commit comments

Comments
 (0)