1. Conduid
  2. Developer Tools
  3. Gomcp
MCP server · Developer Tools

Gomcp

A golang based template MCP server, 100% 18-06 MCP spec compliant.

Unclaimed last commit 10 months ago devtools
43Fair

Scored 4 months ago · breakdown

About Gomcp

Gomcp is an MCP server published by NP-compete in the Developer Tools category: a golang based template MCP server, 100% 18-06 MCP spec compliant. It has been installed 0 times through Conduid.

The repository has 5 stars and 1 forks, with the last commit 10 months ago. Six months or more without a commit doesn't mean the server is broken, but check the open issues (0) before depending on it in production.

Install

Install
npx gomcp

This server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.

Ask AI

Ask AI about Gomcp

Powered by Claude · Grounded in docs

I know everything about Gomcp. Ask me about installation, configuration, usage, or troubleshooting.

Security checks

  • ·README presentNot checked yet.
  • ·License declaredNot checked yet.
  • ·Tests presentNot checked yet.
  • ·Dependencies pinnedNot checked yet.
  • ·No dynamic code executionNot checked yet.
  • !Scoped permissionsDoesn't declare a permission scope. Assume it can do anything its process can.

README


Overview

gomcp is a complete, production-ready MCP server template built with Go and the official MCP Go SDK. It implements the full MCP 2025-06-18 specification and is designed to be used as a starting point for building your own MCP servers.

Why gomcp?

  • Complete Implementation - All 12 MCP features fully implemented
  • Production Ready - Docker support, CI/CD, security best practices
  • Well Documented - Comprehensive docs, examples, and customization guide
  • Easy to Customize - Clean architecture, modular design, extensive comments
  • Multiple Transports - HTTP/SSE for Cursor IDE, stdio for Claude Desktop

Features

MCP Features (12/12)

Feature Status Description
Tools Yes 4 example tools with structured outputs
Prompts Yes 3 reusable prompt templates
Resources Yes 6 static/dynamic resources
Roots Yes Filesystem root definitions
Completion Yes Structured outputs with JSON schemas
Logging Yes Server-to-client notifications (8 levels)
Pagination Yes Cursor-based pagination
Sampling Yes Server-to-client LLM requests
Elicitation Yes Server-to-user data requests
Progress Yes Real-time progress notifications
Cancellation Yes Request cancellation support
Ping Yes Health checks

Infrastructure

Feature Description
Multi-Transport HTTP/SSE + stdio support
Cursor Compatible First-class Cursor IDE support
Claude Desktop stdio transport for local use
Docker Ready Multi-stage Dockerfile included
CI/CD GitHub Actions workflows
Hot Reload Development mode with air
OAuth Support Authentication ready
Metrics Built-in monitoring endpoints
Security Non-root containers, SSL/TLS

Quick Start

Prerequisites

  • Go 1.24+
  • (Optional) Docker/Podman

Installation

# Clone the repository
git clone https://github.com/NP-compete/gomcp.git
cd gomcp

# Download dependencies
go mod download

# Build and run
make run

Running the Server

make cursor
# Server runs on http://localhost:8081/mcp/sse

Configure ~/.cursor/mcp.json:

{
  "mcpServers": {
    "gomcp": {
      "url": "http://localhost:8081/mcp/sse"
    }
  }
}

Restart Cursor IDE to connect.

# Build the binary
make build-prod

# Configure Claude Desktop
# ~/Library/Application Support/Claude/claude_desktop_config.json (macOS)
# %APPDATA%\Claude\claude_desktop_config.json (Windows)
{
  "mcpServers": {
    "gomcp": {
      "command": "/absolute/path/to/gomcp/bin/gomcp",
      "args": [],
      "env": {
        "MCP_TRANSPORT_PROTOCOL": "stdio"
      }
    }
  }
}

Restart Claude Desktop to connect.

# Build and run with Docker
make docker-build
make docker-run

# Or with Docker Compose
docker-compose up -d

Use as Template

This repository is designed to be used as a template for your own MCP server.

Option 1: GitHub Template (Recommended)

Click the "Use this template" button on GitHub to create a new repository.

Option 2: Manual Clone

# Clone and remove git history
git clone https://github.com/NP-compete/gomcp.git my-mcp-server
cd my-mcp-server
rm -rf .git
git init

# Update module name
# Edit go.mod: module github.com/YOUR_USERNAME/my-mcp-server
# Then update all imports

Customization Guide

See docs/CUSTOMIZATION.md for detailed instructions on:

  • Adding your own tools, prompts, and resources
  • Configuring authentication
  • Customizing the Docker setup
  • Setting up CI/CD for your repository

Project Structure

gomcp/
├── cmd/server/          # Application entry point
├── internal/
│   ├── api/            # HTTP handlers & routing
│   ├── completion/     # Structured outputs
│   ├── config/         # Configuration management
│   ├── logging/        # Server-to-client logs
│   ├── mcp/            # MCP server logic
│   ├── pagination/     # Cursor-based pagination
│   ├── prompts/        # Prompt implementations
│   ├── resources/      # Resource implementations
│   ├── roots/          # Filesystem roots
│   └── tools/          # Tool implementations
├── pkg/mcpprotocol/    # MCP protocol types
├── test/               # Integration tests
├── docs/               # Documentation
├── scripts/            # Utility scripts
├── .github/            # GitHub Actions & templates
├── Dockerfile          # Container build
├── docker-compose.yml  # Local development
└── Makefile           # Build commands

Configuration

Variable Default Description
MCP_TRANSPORT_PROTOCOL http Transport: stdio, http, sse
MCP_PORT 8081 Server port
CURSOR_COMPATIBLE_SSE true Enable Cursor compatibility
ENABLE_AUTH true Enable OAuth authentication
LOG_LEVEL INFO Log level

See .env.example for all options.

Testing

# Run all tests
make test

# Run with coverage
go test -coverprofile=coverage.out ./...
go tool cover -html=coverage.out

# Run linter
make lint

# Run security scan
make security-scan

Documentation

Document Description
Architecture System design and component overview
Customization Guide to customizing the template
Contributing How to contribute
Security Security policy

External Resources

Contributing

We welcome contributions! Please see CONTRIBUTING.md for guidelines.

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'feat: add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

License

This project is licensed under the MIT License - see the LICENSE file for details.

Acknowledgments


README mirrored from the source repository 4 months ago. The original is authoritative.

Questions

About Gomcp

How do I install Gomcp?

Run npx gomcp, then add the server to your MCP client's configuration. Conduid has recorded 0 installs, so the command is known to work with current clients.

Is Gomcp safe to use with an AI agent?

Its trust score is 43 out of 100 (fair). It passes 0 of 1 static security checks; the failures are listed above. It has no ConduID identity yet, so agent calls to it are not receipted.

Is Gomcp still maintained?

The last commit was 10 months ago, with 0 open issues. That's long enough that you should check whether the maintainer is responding to issues before depending on it.