About MCP Swift Example Server
MCP Swift Example Server is a Swift example of an MCP server using stdio and the Swift MCP SDK. It is for developers learning server setup and tool registration, and includes a simple client example.
Key features
- 01Stdio server setup
- 02Register a custom swift_echo tool
- 03Handle ListTools and CallTool
- 04Log details to stderr
- 05Example Swift client
Use cases
- 01Learn basic MCP server implementation in Swift
- 02Expose an echo tool to Claude Desktop
- 03Try server-client communication with the example
MCP support
It exposes the swift_echo tool to MCP clients over stdio using StdioTransport. The README shows configuring it in Claude Desktop and includes a client example.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMEMCP Swift Example Server
Basic Stdio Example
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.
Features
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
Getting Started
Running the Echo Server
- Clone this repository:
git clone https://github.com/devyhan/mcp-swift-example-server.git
cd mcp-swift-example-server
- Build the server:
swift build -c release
This will create the executable at .build/release/macros-mcp-example-server. 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 mcpServers object in your claude_desktop_config.json, replacing /PATH/TO/YOUR/SERVER/ with the actual absolute path to the repository directory on your system:
{
"mcpServers": {
// ... other servers maybe ...
"swift_echo_example": {
"command": "/PATH/TO/YOUR/SERVER/mcp-swift-example-server/.build/release/macros-mcp-example-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 compiled executable you built in the previous step.
Client Example
The Examples directory contains a simple client implementation that demonstrates how to communicate with the MCP server:
# First start the server in one terminal:
swift run
# Then in another terminal, run the client example:
cd Examples
swift SimpleClient.swift
Requirements
- macOS 13 or later
- Swift 5.9 or later
Project Structure
main.swift: Entry point for the server applicationMCPServer: MCP protocol server implementationEchoToolbox: Toolbox providing the basic echo tool
License
MIT
References
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.