[HN Gopher] Show HN: GitMCP is an automatic MCP server for every...
       ___________________________________________________________________
        
       Show HN: GitMCP is an automatic MCP server for every GitHub repo
        
       Author : liadyo
       Score  : 77 points
       Date   : 2025-04-03 18:28 UTC (4 hours ago)
        
 (HTM) web link (gitmcp.io)
 (TXT) w3m dump (gitmcp.io)
        
       | liadyo wrote:
       | We built an open source remote MCP server that can automatically
       | serve documentation from every Github project. Simply replace
       | github.com with gitmcp.io in the repo URL - and you get a remote
       | MCP server that serves and searches the documentation from this
       | repo (llms.txt, llms-full.txt, readme.md, etc). Works with
       | github.io as well. Repo here: https://github.com/idosal/git-mcp
        
         | nlawalker wrote:
         | _> searches the documentation from this repo (llms.txt, llms-
         | full.txt, readme.md, etc)_
         | 
         | What does _etc_ include? Does this operate on a _single content
         | file_ from the specified GitHub repo?
        
       | lukew3 wrote:
       | Cool project! I would probably call it an MCP server for every
       | Github repo though since project could be confused for Github
       | Projects which is their work planning/tracking tool.
        
         | liadyo wrote:
         | Thanks!
        
       | the_arun wrote:
       | But why would we need an MCP server for a github repo? Sorry, I
       | am unable to understand the use case.
        
         | liadyo wrote:
         | It's very helpful when working with a specific
         | technology/library, and you want to access the project's
         | llms.txt, readme, search the docs, etc from within the IDE
         | using the MCP client. Check it out, for exmaple, with the
         | langgraph docs: https://gitmcp.io/#github-pages-demo It really
         | improves the development experience.
        
         | qainsights wrote:
         | Same here. Can't we just give the repo URL in Cursor/Windsurf
         | to use the search tool to get the context? :thinking:
        
           | adusal wrote:
           | As an example, some repositories have huge documents (in some
           | cases a few MBs) that agents won't process today. GitMCP
           | offers semantic search out of the box.
        
           | jwblackwell wrote:
           | Yeah this is one fundamental reason I don't see MCP taking
           | off. The only real use cases there are will just be built in
           | natively to the tools.
        
       | qwertox wrote:
       | That is a complex webserver. https://github.com/idosal/git-
       | mcp/tree/main/api
       | 
       | What about private repos in, let's say GitLab or Bitbucket
       | instances, or something simpler?
       | 
       | A Dockerfile could be helpful to get it running locally.
        
         | liadyo wrote:
         | Yes, this is a fully remote MCP server, so the need for an SSE
         | support makes the implementation quite complex. The MCP spec
         | updated to use HTTP streaming, but clients do not support it
         | yet.
        
           | TechDebtDevin wrote:
           | Gemini does I believe. On my list of todos is to add this to
           | my fork of mcp-go.
        
             | vessenes wrote:
             | +1 for this, I'm so so tired of writing my MCP code in
             | python.
        
               | prophesi wrote:
               | If you're in Elixir land, Hermes MCP[0] is a fantastic
               | library for building out MCP clients/servers with both
               | SSE/HTTP support. And will be quite robust given the
               | scalability and fault tolerance of the BEAM.
               | 
               | [0] https://github.com/cloudwalk/hermes-mcp
        
               | vessenes wrote:
               | ooh cool. Sadly I am far from Elixir land. MCP starting
               | out as largely STDIO definitely has made things harder
               | for server-side engineers. I expect this will sort itself
               | out this year though.
        
       | pfista wrote:
       | Do you auto-generate specific MCP tools for the repo? Curious
       | what the queries you would use with an AI agent to get a response
       | back.
       | 
       | I'm building my own hosted MCP solution (https://skeet.build) and
       | have been deliberately choosing which tools to expose depending
       | on the use case- since there are tool limits due to the context
       | window for apps like Cursor.
        
       | pcwelder wrote:
       | Why not have a single mcp server that takes in the repo path or
       | url in the tool call args? Changing config in claude desktop is
       | painful everytime.
        
         | vessenes wrote:
         | I agree - i'd like that option as well.
        
         | liadyo wrote:
         | Yes! The generic form is also supported of course.
         | https://gitmcp.io/docs does exactly that:
         | https://github.com/idosal/git-mcp?tab=readme-ov-file#usage
        
       | thomasfromcdnjs wrote:
       | This is awesome, well done!
        
       | kiitos wrote:
       | > Simply change the domain from github.com or github.io to
       | gitmcp.io and get instant AI context for any GitHub repository.
       | 
       | What does this mean? How does it work? How can I understand how
       | it works? The requirements, limitations, constraints? The landing
       | page tells me nothing! Worse, it doesn't have any links or
       | suggestions as to how I could possibly learn how it works.
       | 
       | > Congratulations! The chosen GitHub project is now fully
       | accessible to your AI.
       | 
       | What does this mean??
       | 
       | > GitMCP serves as a bridge between your GitHub repository's
       | documentation and AI assistants by implementing the Model Context
       | Protocol (MCP). When an AI assistant requires information from
       | your repository, it sends a request to GitMCP. GitMCP retrieves
       | the relevant content and provides semantic search capabilities,
       | ensuring efficient and accurate information delivery.
       | 
       | MCP is a protocol that defines a number of concrete resource
       | types (tools, prompts, etc.) -- each of which have very specific
       | behaviors, semantics, etc. -- and none of which are identified by
       | this project's documentation as what it actually implements!
       | 
       | Specifically what aspects of the MCP are you proxying here?
       | Specifically how do you parse a repo's data and transform it into
       | whatever MCP resources you're supporting? I looked for this
       | information and found it nowhere?
        
       | eagleinparadise wrote:
       | Getting "@ SSE error: undefined" in Cursor for a repo I added. Is
       | there also not a way to force a MCP server to be used? Haiku
       | doesn't pick it up in Cursor.
        
         | adusal wrote:
         | The error usually isn't an issue since the agent can use the
         | tools regardless. It's a by-product of the current
         | implementation's serverless nature and SSE's limitations. We
         | are looking into alternative solutions.
        
       | creddit wrote:
       | How does this differ from the reference Github MCP server?
       | 
       | https://github.com/modelcontextprotocol/servers/tree/main/sr...
       | 
       | EDIT: Oh wait, lol, I looked closer and it seems that the
       | difference is that the server runs on your server instead which
       | is like the single most insane thing I can think of someone
       | choosing to do when the reference Github MCP server exists.
        
         | creddit wrote:
         | This literally looks like spyware to me. Crazy.
        
       ___________________________________________________________________
       (page generated 2025-04-03 23:00 UTC)