# JSON-RPC and MCP

Understand JSON-RPC requests, notifications, responses, and errors, then follow a Go server implementation to see the protocol behind MCP.

Canonical HTML: https://stage.vvivid.dev/tags/json-rpc/


MCP uses JSON-RPC 2.0 messages. Start with [the protocol and its message types](/posts/json_rpc_the_protocol_behind_mcp/), then follow [a small JSON-RPC server in Go](/posts/jsonrpc_example/). The calculator example shows parsing, validation, dispatch, and response handling; it is a JSON-RPC example, not a complete MCP server.


- [Building a JSON-RPC Server in Go: Complete Implementation Guide](https://stage.vvivid.dev/posts/jsonrpc_example/) · [Markdown](https://stage.vvivid.dev/posts/jsonrpc_example/index.md) · 2025-08-30
  Learn how to implement a complete JSON-RPC 2.0 server in Go with message parsing, validation, method routing, and error handling. Includes working calculator example.
- [Understanding JSON-RPC: The Protocol Behind MCP](https://stage.vvivid.dev/posts/json_rpc_the_protocol_behind_mcp/) · [Markdown](https://stage.vvivid.dev/posts/json_rpc_the_protocol_behind_mcp/index.md) · 2025-08-24
  Breaking down JSON-RPC to understand how MCP (Model Context Protocol) works under the hood


