This is a basic example demonstrating how to create a simple server that communicates over standard input/output (stdio) using the Model Context Protocol Swift SDK. This setup is compatible with applications like Claude Desktop.
swift_dummy_mcp_server.mp4
Located in the Example directory, this simple server demonstrates:
- Setting up a basic MCP server.
- Defining and registering a custom tool (
swift_echo). - Handling
ListToolsandCallToolrequests. - Using
StdioTransportfor communication. - Detailed logging to stderr.
Running the Echo Server:
-
Navigate to the example directory:
cd Example -
Build the server:
swift build -c release
This will create the executable at
.build/release/EchoServer. Note the full path to this executable. -
Configure Claude Desktop: To make this server available as a tool provider in Claude Desktop, you need to add it to your Claude Desktop configuration file (
claude_desktop_config.json). The location of this file varies by operating system.Add an entry like the following to the
mcpServersobject in yourclaude_desktop_config.json, replacing/PATH/TO/YOUR/SERVER/with the actual absolute path to theswift-sdkdirectory on your system:{ "mcpServers": { // ... other servers maybe ... "swift_echo_example": { "command": "/PATH/TO/YOUR/SERVER/Example/.build/release/dummy-mcp-server" } // ... other servers maybe ... } }swift_echo_example: This is the name you'll refer to the server by within Claude Desktop (you can change this).command: This must be the absolute path to the compiledEchoServerexecutable you built in the previous step.#55 (comment)