AWS Labs Git Repo Research MCP Server
raw JSON → 1.0.15 verified Fri May 01 auth: no python
An AWS Labs Model Context Protocol (MCP) server for researching git repositories. Version 1.0.15, requires Python >=3.10. Released under Apache 2.0, maintained by AWS Labs.
pip install awslabs-git-repo-research-mcp-server Common errors
error ModuleNotFoundError: No module named 'mcp' ↓
cause Installed the wrong package or the package did not install dependencies.
fix
Ensure you have installed 'awslabs-git-repo-research-mcp-server' and its dependencies: pip install awslabs-git-repo-research-mcp-server
error ImportError: cannot import name 'FastMCP' from 'mcp.server' ↓
cause Have an older version of the 'mcp' package that predates FastMCP.
fix
Upgrade the mcp package: pip install --upgrade mcp (or the umbrella package).
error TypeError: Object of type Response is not JSON serializable ↓
cause Returning non-serializable objects from a tool function.
fix
Ensure tool functions return strings, dicts, or other JSON-serializable types. Use json.dumps() for complex data.
Warnings
gotcha The package name on PyPI (awslabs-git-repo-research-mcp-server) differs from the import path: you import from 'mcp', not the package name. ↓
fix Import from mcp.server.fastmcp or mcp.server as documented.
breaking FastMCP replaced the lower-level 'Server' class as the recommended entry point in version 1.0.0. Code using 'Server' directly may need updates. ↓
fix Migrate to FastMCP: from mcp.server.fastmcp import FastMCP; replace Server(...) with FastMCP(...).
deprecated Older MCP versions used 'mcp' as a CLI. The library now ships a separate CLI entry point; check documentation for exact usage. ↓
fix Update to latest version and follow the new CLI patterns (e.g., 'mcp run server.py').
Imports
- server
from mcp.server import Server - FastMCP
from mcp.server.fastmcp import FastMCP
Quickstart
from mcp.server.fastmcp import FastMCP
# Create an MCP server
mcp = FastMCP("GitRepoResearch")
@mcp.tool()
def research_repo(url: str) -> str:
"""Research a git repository and return structured information."""
return f"Researched {url}"
if __name__ == "__main__":
mcp.run()