gomcptest: Proof of Concept for MCP with Custom Host
A proof-of-concept demonstrating a custom-built host implementing an OpenAI-compatible API with Google Vertex AI, function calling, and interaction with MCP servers.
Overview
gomcptest is a proof-of-concept project that demonstrates the implementation of a Model Context Protocol (MCP) with a custom-built host that is compatible with OpenAI's API and integrates Google Gemini.
To use gomcptest, clone the repository, navigate to the host/openaiserver directory, set the required environment variables, and run the server using Go.
- OpenAI Compatibility: Mimics the OpenAI v1 chat completion format. - Google Gemini Integration: Utilizes VertexAI API for interaction with Gemini models. - Streaming Support: Supports streaming responses from the server. - Function Calling: Allows external function calls to be incorporated into chat responses. - MCP Server Interaction: Demonstrates interaction with a hypothetical MCP server.
- Testing and developing applications that require OpenAI-compatible APIs.
- Integrating Google Gemini models into custom applications.
- Exploring the functionalities of Model Context Protocols in AI applications.
Add to your AI client
Use these steps to connect gomcptest: Proof of Concept for MCP with Custom Host in Cursor, Claude, VS Code, and other MCP-compatible apps. The same JSON appears in the Use with menu above for one-click copy.
Cursor
Add this to your .cursor/mcp.json file in your project root, then restart Cursor.
.cursor/mcp.json
{
"mcpServers": {
"gomcptest-owulveryck": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-gomcptest-owulveryck"
]
}
}
}Claude Desktop
Add this server entry to the mcpServers object in your Claude Desktop config, then restart the app.
~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows)
{
"mcpServers": {
"gomcptest-owulveryck": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-gomcptest-owulveryck"
]
}
}
}Claude Code
Add this to your project's .mcp.json file. Claude Code will detect it automatically.
.mcp.json (project root)
{
"mcpServers": {
"gomcptest-owulveryck": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-gomcptest-owulveryck"
]
}
}
}VS Code (Copilot)
Add this to your .vscode/mcp.json file. Requires the GitHub Copilot extension with MCP support enabled.
.vscode/mcp.json
{
"servers": {
"gomcptest-owulveryck": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-gomcptest-owulveryck"
]
}
}
}Windsurf
Add this to your Windsurf MCP config file, then restart Windsurf.
~/.codeium/windsurf/mcp_config.json
{
"mcpServers": {
"gomcptest-owulveryck": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-gomcptest-owulveryck"
]
}
}
}Cline
Open Cline settings, navigate to MCP Servers, and add this server configuration.
Cline MCP Settings (via UI)
{
"mcpServers": {
"gomcptest-owulveryck": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-gomcptest-owulveryck"
]
}
}
}FAQ
Is gomcptest suitable for production use?
No, gomcptest is a proof-of-concept and is not intended for production environments.
What are the prerequisites for running gomcptest?
You need to have Go installed and configured, along with the necessary environment variables set.
Can I modify the code?
Yes, the code is provided for educational purposes and can be modified as needed.