Skip to main content

An AWS Labs Model Context Protocol (MCP) server for researching git repositories

Reason this release was yanked:

Consider an alternative such as the context7 MCP server

Project description

Git Repo Research MCP Server

Model Context Protocol (MCP) server for researching Git repositories using semantic search

This MCP server enables developers to research external Git repositories and influence their code generation without having to clone repositories to local projects. It provides tools to index, search, and explore Git repositories using semantic search powered by Amazon Bedrock and FAISS.

Features

  • Repository Indexing: Create searchable FAISS indexes from local or remote Git repositories
  • Semantic Search: Query repository content using natural language and retrieve relevant code snippets
  • Repository Summary: Get directory structures and identify key files like READMEs
  • GitHub Repository Search: Find repositories in AWS-related organizations filtered by licenses and keywords
  • File Access: Access repository files and directories with support for both text and binary content

Prerequisites

Installation Requirements

  1. Install uv from Astral or the GitHub README
  2. Install Python 3.12 or newer using uv python install 3.12
    • uv - Fast Python package installer and resolver
  3. AWS credentials configured with Bedrock access
  4. Node.js (for UVX installation support)

AWS Requirements

  1. AWS CLI Configuration: You must have the AWS CLI configured with credentials that have access to Amazon Bedrock
  2. Amazon Bedrock Access: Ensure your AWS account has access to embedding models like Titan Embeddings
  3. Environment Variables: The server uses AWS_REGION and AWS_PROFILE environment variables

Optional Requirements

  1. GitHub Token: Set GITHUB_TOKEN environment variable for higher rate limits when searching GitHub repositories

Installation

Cursor VS Code
Install MCP Server Install on VS Code

To add this MCP server to your Amazon Q or Claude, add the following to your MCP config file:

{
  "mcpServers": {
    "awslabs.git-repo-research-mcp-server": {
      "command": "uvx",
      "args": ["awslabs.git-repo-research-mcp-server@latest"],
      "env": {
        "AWS_PROFILE": "your-profile-name",
        "AWS_REGION": "us-west-2",
        "FASTMCP_LOG_LEVEL": "ERROR",
        "GITHUB_TOKEN": "your-github-token"
      },
      "disabled": false,
      "autoApprove": []
    }
  }
}

Windows Installation

For Windows users, the MCP server configuration format is slightly different:

{
  "mcpServers": {
    "awslabs.git-repo-research-mcp-server": {
      "disabled": false,
      "timeout": 60,
      "type": "stdio",
      "command": "uv",
      "args": [
        "tool",
        "run",
        "--from",
        "awslabs.git-repo-research-mcp-server@latest",
        "awslabs.git-repo-research-mcp-server.exe"
      ],
      "env": {
        "FASTMCP_LOG_LEVEL": "ERROR",
        "AWS_PROFILE": "your-aws-profile",
        "AWS_REGION": "us-east-1"
      }
    }
  }
}

Tools

create_research_repository

Indexes a Git repository (local or remote) using FAISS and Amazon Bedrock embeddings.

create_research_repository(
    repository_path: str,
    output_path: Optional[str] = None,
    embedding_model: str = "amazon.titan-embed-text-v2:0",
    include_patterns: Optional[List[str]] = None,
    exclude_patterns: Optional[List[str]] = None,
    chunk_size: int = 1000,
    chunk_overlap: int = 200
) -> Dict

search_research_repository

Performs semantic search within an indexed repository.

search_research_repository(
    index_path: str,
    query: str,
    limit: int = 10,
    threshold: float = 0.0
) -> Dict

search_repos_on_github

Searches for GitHub repositories based on keywords, scoped to AWS organizations.

search_repos_on_github(
    keywords: List[str],
    num_results: int = 5
) -> Dict

access_file

Accesses file or directory contents within repositories or on the filesystem.

access_file(
    filepath: str
) -> Dict | ImageContent

delete_research_repository

Deletes an indexed repository.

delete_research_repository(
    repository_name_or_path: str,
    index_directory: Optional[str] = None
) -> Dict

Resources

repositories://repository_name/summary

Get a summary of an indexed repository including structure and helpful files.

repositories://awslabs_mcp/summary

repositories://

List all indexed repositories with detailed information.

repositories://

repositories://index_directory

List all indexed repositories from a specific index directory.

repositories:///path/to/custom/index/directory

Considerations

  • Repository indexing requires Amazon Bedrock access and sufficient permissions
  • Large repositories may take significant time to index
  • Binary files (except images) are not supported for content viewing
  • GitHub repository search is by default limited to AWS organizations: aws-samples, aws-solutions-library-samples, and awslabs (but can be configured to include other organizations)

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

awslabs_git_repo_research_mcp_server-1.0.8.tar.gz (186.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

File details

Details for the file awslabs_git_repo_research_mcp_server-1.0.8.tar.gz.

File metadata

File hashes

Hashes for awslabs_git_repo_research_mcp_server-1.0.8.tar.gz
Algorithm Hash digest
SHA256 cf6985bf3195c8a96fcc32fe2c11d6ec512375c9dd60b32802a5c230fc9df97c
MD5 235aef667a27dd5b97e0a0ce4ff79703
BLAKE2b-256 59ee772d42aa35a28d9e5f33757c5d6992c323f9da37d7b0353f01d4f8488fd6

See more details on using hashes here.

Provenance

The following attestation bundles were made for awslabs_git_repo_research_mcp_server-1.0.8.tar.gz:

Publisher: release.yml on awslabs/mcp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file awslabs_git_repo_research_mcp_server-1.0.8-py3-none-any.whl.

File metadata

File hashes

Hashes for awslabs_git_repo_research_mcp_server-1.0.8-py3-none-any.whl
Algorithm Hash digest
SHA256 1210573fb75c792bb8ace1dccc1eac0b2148ae6ad8dc408547e1cb00e8212a36
MD5 4f98b825804f297b29053b60dc4c4f1f
BLAKE2b-256 ef1667e54ee0be0d4be8cb9ca93f98b702d43e8012f746d602f2b4e0c108d656

See more details on using hashes here.

Provenance

The following attestation bundles were made for awslabs_git_repo_research_mcp_server-1.0.8-py3-none-any.whl:

Publisher: release.yml on awslabs/mcp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page