Building MCP Servers from GitHub Repositories
This guide provides a step-by-step walkthrough of how to use VLCode to build an existing MCP server from a GitHub repository.
Finding an MCP Server
There are multiple places online to find MCP servers:
-
VLCode can automatically add MCP servers to its list, which you can then edit. VLCode can clone repositories directly from GitHub and build the servers for you.
-
GitHub: Two of the most common places to find MCP servers on GitHub include:
-
Online directories: Several websites list MCP servers including:
These directories allow users to sort the servers by various criteria such as downloads, date, stars, and use case. Each entry provides information such as features, tools, and configuration instructions.
-
PulseMCP: This website has a blog post discussing how AI could use MCP servers to make websites obsolete. PulseMCP also includes an FAQ section about MCP servers: https://www.pulsemcp.com/
Building with VLCode
-
Initiate the Process: Provide VLCode with the following information:
- GitHub Repository URL: The URL of the server's repository.
- README.md Contents: This is optional but helpful for VLCode to understand the server's purpose and configuration. You can copy the README.md file from the GitHub repository.
-
Example Interaction with VLCode:
User: "VLCode, I want to add the MCP server for Brave browser control. Here's the GitHub link: https://github.com/modelcontextprotocol/servers/tree/main/src/brave Can you add it?"
VLCode: "OK. Cloning the repository to the MCP directory. It needs to be built because it has a 'package.json' file. Should I run 'npm run build'?"
User: "Yes, build it."
VLCode: "Build complete. This server needs a browser path. Where's your Brave browser executable?"
User: "It's in '/Applications/Brave Browser.app/Contents/MacOS/Brave Browser'."
VLCode: "OK. I've updated the server config with that path and added it to 'vlcode_mcp_settings.json'. Anything else?"
User: "No, that's all. Let's test it."
VLCode: "Great! Starting the MCP Inspector to test the server connection. After that, we can try controlling the browser from VLCode." -
VLCode's Actions: Based on your instructions, VLCode will perform the following:
- Repository Cloning: VLCode will clone the repository to your local machine, usually in the directory specified in your configuration.
- Tweaking: You can guide VLCode to modify the server’s configuration. For instance:
- User: "This server requires an API key. Can you find where it should be added?"
- VLCode may automatically update the
vlcode_mcp_settings.json
file or other relevant files based on your instructions.
- Building the Server: VLCode will run the appropriate build command for the server, which is commonly
npm run build
. - Adding Server to Settings: VLCode will add the server’s configuration to the
vlcode_mcp_settings.json
file.
Testing and Troubleshooting
- Test the Server: Once VLCode finishes the build process, test the server to make sure it works as expected. VLCode can assist you if you encounter any problems.
- MCP Inspector: You can use the MCP Inspector to test the server’s connection and functionality.
Best Practices
- Understand the Basics: While VLCode simplifies the process, it’s beneficial to have a basic understanding of the server’s code, the MCP protocol (), and how to configure the server. This allows for more effective troubleshooting and customization.
- Clear Instructions: Provide clear and specific instructions to VLCode throughout the process.
- Testing: Thoroughly test the server after installation and configuration to ensure it functions correctly.
- Version Control: Use a version control system (like Git) to track changes to the server’s code.
- Stay Updated: Keep your MCP servers updated to benefit from the latest features and security patches.