MCP-Mirror

go-mcp-server-service

Community MCP-Mirror
Updated

Mirror of https://github.com/AndrewDonelson/go-mcp-server-service

go-mcp-server-service

A JSON-RPC 2.0 compliant server implementing the Model Context Protocol (MCP) for note management (as an example)

This is an example. You can modify this and use as a Boilerplate for your own project. It supports cross-platform development and includes a command-line interface and service component for both development and release builds.

Features

  • JSON-RPC 2.0 compliant API
  • Cross-platform support (Windows, Linux, macOS)
  • Thread-safe note management
  • Development and release build configurations
  • Service and command-line interface components

Components

Command Line Interface (cmd)

The command-line interface provides direct access to the notes server functionality.

Service (service)

The service component enables system-level integration and background operation.

Resources

The server implements a note storage system with:

  • Custom note:// URI scheme for accessing individual notes
  • Resource metadata including name, description, and MIME type
  • Thread-safe concurrent access

Prompts

Available prompts:

  • summarize-notes: Creates summaries of all stored notes
    • Optional style argument ("brief"/"detailed")
    • Combines all current notes with style preference
    • Thread-safe note access

Tools

Available tools:

  • add-note: Adds a new note to the server
    • Required arguments: name (string), content (string)
    • Thread-safe state updates
    • Returns confirmation message

Building

Prerequisites

  • Go 1.21 or later
  • GNU Make or compatible build tool
  • Git (for version information)

Build Commands

Development builds (includes debug symbols and race detection):

# Build all components for all platforms
make dev

# Build for specific platform
make dev-windows
make dev-linux
make dev-darwin

# Build specific components
make build-cmd
make build-service

Release builds (optimized and stripped):

# Build all components for all platforms
make release-all

# Build for specific platform
make release-windows
make release-linux
make release-darwin

Run locally:

# Run command-line interface
make run-cmd

# Run service
make run-service

View all available targets:

make help

Build Output

Binaries are created in the bin directory:

  • Development builds: bin/dev/<platform>/
  • Release builds: bin/release/<platform>/

Configuration

Claude Desktop Integration

Configure the notes server in Claude Desktop's configuration file:

Location
  • MacOS: ~/Library/Application\ Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%/Claude/claude_desktop_config.json
Development Configuration
{
  "mcpServers": {
    "notes-server": {
      "command": "./bin/dev/<platform>/notes-server",
      "args": []
    }
  }
}
Release Configuration (Service Example)
{
  "mcpServers": {
    "notes-server": {
      "command": "./bin/release/<platform>/notes-service",
      "args": []
    }
  }
}

Development

Project Structure

.
├── cmd/                    # Command-line interface
├── service/               # Service implementation
├── internal/
│   └── server/           # Core server implementation
│       ├── operations.go # Server operations
│       ├── server.go    # Main server logic
│       └── types.go     # Type definitions
├── Makefile              # Build configuration
└── README.md

Debugging

Since the server runs over stdio, we recommend using the MCP Inspector for debugging:

npx @modelcontextprotocol/inspector ./bin/dev/<platform>/notes-server

The Inspector will provide a URL for the debugging interface.

Error Codes

The server implements standard JSON-RPC 2.0 error codes plus custom codes:

Code Description Standard
-32700 Parse error Yes
-32600 Invalid request Yes
-32601 Method not found Yes
-32602 Invalid params Yes
-32603 Internal error Yes
-32001 Resource not found No
-32002 Unsupported operation No

License

MIT License

Copyright (c) 2024 Andrew Lee Donelson

MCP Server · Populars

MCP Server · New

    82ch

    MCP-Dandan - MCP Security Framework

    MCP Security Solution for Agentic AI — real-time proxying, behavior analysis, and malicious tool detection

    Community 82ch
    Vvkmnn

    claude-historian-mcp

    🤖 An MCP server for Claude Code conversation history

    Community Vvkmnn
    tommyreid622

    Polymarket Copy Trading Bot

    Polymarket trading bot: Polymarket copytrading bot, Polymarket arbitrage bot on Polymarket, Monitor real price on Polymarket and calculate prob and automatically mirror positions with intelligent sizing and safety checks on Polymarket.(copytrading bot & arbitrage bot))

    Community tommyreid622
    aws

    MCP Proxy for AWS

    AWS MCP Proxy Server

    Community aws
    railsblueprint

    Blueprint MCP

    MCP server for browser automation across Chrome, Firefox, and Safari using real browser profiles

    Community railsblueprint