Module 04 References

Curated references for tool use and the Model Context Protocol. Ordered by reading priority.


Official MCP Documentation

MCP Introduction
https://modelcontextprotocol.io/introduction
Start here. Explains what MCP is, why it was created, and the high-level architecture. 10-minute read.

MCP Architecture
https://modelcontextprotocol.io/docs/concepts/architecture
The three primitives (resources, tools, prompts), transport layers, and client-server model. Essential for understanding how to structure your own servers.


SDKs and Implementation

MCP Python SDK
https://github.com/modelcontextprotocol/python-sdk
The official Python SDK for building MCP servers and clients. The README has a minimal server example. Check the examples/ directory for real-world patterns including filesystem, database, and API wrapper servers.

MCP TypeScript SDK
https://github.com/modelcontextprotocol/typescript-sdk
For JavaScript/TypeScript developers. Same concepts as Python SDK; useful if you want to build MCP servers in Node.js (common for VS Code extensions and web-based tools).


Anthropic Tool Use Documentation

Anthropic Tool Use Overview
https://docs.anthropic.com/en/docs/build-with-claude/tool-use/overview
The complete guide to using tools via the Anthropic API: defining tools, the tool use flow, handling tool results, streaming, error handling, and best practices. Essential reading before building any Claude tool integration.


Community and Reference Implementations

Community MCP Servers
https://github.com/modelcontextprotocol/servers
A collection of reference MCP server implementations: filesystem, GitHub, Slack, PostgreSQL, browser automation, and more. Read these when you want to see how production servers handle authentication, error handling, and resource design.

Notable servers to study:

  • filesystem — safe local file access with path scoping
  • github — wrapping a REST API with proper auth and pagination
  • postgres — read-only database access with schema introspection
  • memory — persistent key-value notes that survive conversation resets

JSON Schema

Understanding JSON Schema
https://json-schema.org/understanding-json-schema
The reference for writing input_schema in your tool definitions. Key sections for AI tool design:

  • “Type-specific keywords” — string, number, integer, boolean, array, object
  • “Applying subschemas conditionally” — for anyOf / oneOf patterns
  • “Structuring a complex schema” — for nested object parameters

Focus on: type, enum, minimum/maximum, minLength/maxLength, items (for arrays), properties/required (for objects), anyOf.


Background Reading (Optional)

JSON-RPC 2.0 Specification
https://www.jsonrpc.org/specification
MCP is built on JSON-RPC 2.0. You don’t need to read this to build MCP servers, but understanding it helps you debug protocol-level issues when things go wrong.

OpenAI Function Calling
https://platform.openai.com/docs/guides/function-calling
Tool use with a different provider. Reading this helps you understand what is universal (JSON Schema input schemas, the call-result loop) vs what is Anthropic-specific (content block format, tool result structure).