akhidastech_mcpcalculator

akhidastech_mcpcalculator

by akhidasTech
A Go-based MCP server with calculator and greeting functionality.

MCP Calculator Server

A Go implementation of a Model Context Protocol (MCP) server with calculator and greeting functionality. This implementation follows the official MCP specification.

Features

  • Full JSON-RPC 2.0 implementation
  • MCP protocol support
  • Tool registration and execution
  • Resource handling
  • Server capability negotiation
  • Error handling according to spec

Project Structure

mcpcalculator/
├── mcp/
│   └── protocol/
│       ├── types.go    # Protocol types and structures
│       ├── server.go   # MCP server implementation
│       └── client.go   # MCP client implementation
├── main.go            # Example usage
├── go.mod             # Go module file
└── README.md          # Documentation

Requirements

  • Go 1.21 or higher

Installation

git clone https://github.com/akhidasTech/mcpcalculator.git
cd mcpcalculator
go mod download

Usage

Starting the Server

go run main.go

The server will start on port 8080.

Making Requests

Tools and resources follow the JSON-RPC 2.0 specification:

Add Tool

curl -X POST http://localhost:8080 \
  -H "Content-Type: application/json" \
  -d '{
    "jsonrpc": "2.0",
    "id": 1,
    "method": "add",
    "params": {"a": 5, "b": 3}
  }'

Greeting Resource

curl -X POST http://localhost:8080 \
  -H "Content-Type: application/json" \
  -d '{
    "jsonrpc": "2.0",
    "id": 1,
    "method": "greeting",
    "params": {"name": "John"}
  }'

Response Format

All responses follow the JSON-RPC 2.0 format:

{
    "jsonrpc": "2.0",
    "id": 1,
    "result": <result_value>
}

Or for errors:

{
    "jsonrpc": "2.0",
    "id": 1,
    "error": {
        "code": <error_code>,
        "message": "error message",
        "data": <additional_data>
    }
}

Protocol Implementation

This implementation follows the Model Context Protocol specification:

  1. JSON-RPC 2.0: All communication uses the JSON-RPC 2.0 protocol
  2. Capabilities: Server advertises its capabilities during initialization
  3. Tools: Implements the tool registration and execution protocol
  4. Resources: Implements the resource access protocol
  5. Error Handling: Uses standard error codes and formats

Security

This implementation follows MCP security guidelines:

  1. User Consent: Tools and resources require explicit invocation
  2. Data Privacy: No data is shared without explicit requests
  3. Tool Safety: Tool execution is controlled and validated
  4. Error Handling: Proper error reporting and handling

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

About

A Go implementation of MCP server with calculator and greeting functionality

Resources

Stars

1 star

Watchers

1 watching

Forks

0 forks

Report repository

Releases

No releases published

Packages 0

No packages published

Languages

Features & Capabilities

Categories
mcp_server model_context_protocol go json_rpc calculator api_integration

Implementation Details

Stats

0 Views
1 GitHub Stars

Repository Info

akhidasTech Organization

Similar MCP Servers

continuedev_continue by continuedev
25049
21423
9300