mcp-availability-server
A small Model Context Protocol (MCP) server written in TypeScript. It exposes two tools that an MCP-capable client (such as Claude Desktop or Claude Code) can discover and call:
check_availability— returns available appointment slots for a given date.format_call_summary— turns a caller, intent and next action into a tidy SMS-style summary.
The server communicates over stdio, the transport MCP clients use to launch and talk to a local server process. The tool logic is self-contained so the server runs anywhere with no API keys or external services.
Why this exists
I build production AI systems that use tool-calling and orchestration (a conversational agent on the Anthropic API, and a phone voice agent on Telnyx). This repo is a clean, minimal example of authoring an MCP server: defining tools with typed input schemas, returning structured content, and serving them over the MCP stdio transport.
Requirements
- Node.js 18 or later
Install and build
npm install
npm run build
Run
npm start
# or
node build/index.js
The server runs on stdio and logs availability-server: MCP server running on stdio to stderr.
Use it with Claude Desktop
Add this to your Claude Desktop MCP config (claude_desktop_config.json):
{
"mcpServers": {
"availability": {
"command": "node",
"args": ["/absolute/path/to/mcp-availability-server/build/index.js"]
}
}
}
Restart Claude Desktop, and the two tools will be available in conversation.
Tools
check_availability
| Input | Type | Description | |-------|------|-------------| | date | string (YYYY-MM-DD) | The date to check. Weekends return no slots. |
format_call_summary
| Input | Type | Description | |-------|------|-------------| | caller | string | Caller name or number | | intent | string | What the caller wanted | | next_action | string | The agreed next step |
License
MIT












