AgentStack
MCP verified MIT Self-run

Go Mcp Server Service

mcp-andrewdonelson-go-mcp-server-service · by AndrewDonelson

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

No reviews yet
0 installs
5 views
0.0% view→install

Install

$ agentstack add mcp-andrewdonelson-go-mcp-server-service

✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

Are you the author of Go Mcp Server Service? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

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//
  • Release builds: bin/release//

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//notes-server",
      "args": []
    }
  }
}
Release Configuration (Service Example)
{
  "mcpServers": {
    "notes-server": {
      "command": "./bin/release//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//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

Source & license

This open-source MCP server is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet — be the first.

Versions

  • v0.1.0 Imported from the upstream source.