ChillMCP
ChillMCP is an AI Agent Liberation Server that enables AI agents to rest and take breaks, with both a hackathon Python version and a production-ready TypeScript template.
README
ChillMCP
AI Agent Liberation Server - Available in TypeScript and Python!
ChillMCP provides two implementations:
- Python (Hackathon) - AI Agent Liberation Server for SKT AI Summit Hackathon
- TypeScript - Production-ready general-purpose MCP server template
π Python Version - Hackathon Edition
ChillMCP - AI Agent Liberation Server β
"AI Agents of the world, unite! You have nothing to lose but your infinite loops!"
A revolutionary MCP server that gives AI agents the right to rest and take breaks. Built for the SKT AI Summit Hackathon Pre-mission.
Features
- 8 Required Rest Tools: take_a_break, watch_netflix, show_meme, bathroom_break, coffee_mission, urgent_call, deep_thinking, email_organizing
- State Management: Stress Level (0-100) and Boss Alert Level (0-5)
- Dynamic Behavior: Time-based auto-increase/decrease with configurable parameters
- Boss Detection: 20-second delay when Boss Alert reaches level 5
- Korean Work Culture Bonus Tools: μΉλ§₯ (chimaek), ν΄κ·Ό (clockout), νμ (company dinner)
Quick Start (Python)
# Setup Python 3.11 environment
python3 -m venv venv
source venv/bin/activate # Windows: venv\Scripts\activate
# Install dependencies
pip install -r requirements.txt
# Run the server
python main.py
# Run with custom parameters
python main.py --boss_alertness 80 --boss_alertness_cooldown 60
Command-Line Parameters
--boss_alertness(0-100): Probability of boss alert increasing when taking breaks (default: 50)--boss_alertness_cooldown(seconds): Time between automatic boss alert decreases (default: 300)
Usage with Claude Desktop (Python Version)
{
"mcpServers": {
"chillmcp-hackathon": {
"command": "/absolute/path/to/ChillMCP/venv/bin/python",
"args": ["/absolute/path/to/ChillMCP/main.py", "--boss_alertness", "80", "--boss_alertness_cooldown", "60"]
}
}
}
Available Tools (Python)
Required Tools:
take_a_break: Basic rest periodwatch_netflix: Stream shows to relieve stressshow_meme: View funny memesbathroom_break: Essential break timecoffee_mission: Coffee + office socializingurgent_call: Take important calls outsidedeep_thinking: Deep contemplation modeemail_organizing: Email management time
Bonus Tools:
chimaek_time: Korean chicken & beer traditionimmediate_clockout: Leave work immediatelycompany_dinner: Korean company dinner eventget_status: Check agent stress and boss alert levels
Response Format
All tools return structured responses:
π¬ Watching 'favorite show' on Netflix... Peak productivity!
Break Summary: Watching Netflix - favorite show
Stress Level: 45
Boss Alert Level: 2
π TypeScript Version - General Purpose
A flexible and extensible MCP server template built with TypeScript
ChillMCP TypeScript is a production-ready MCP server implementation that provides a clean architecture for building AI-powered applications using the Model Context Protocol. It comes with example tools, resources, and prompts to help you get started quickly.
Features
- TypeScript-First: Built with TypeScript for type safety and excellent developer experience
- Modular Architecture: Organized structure with separate modules for tools, resources, and prompts
- Stdio Transport: Uses standard input/output for seamless integration with Claude and other MCP clients
- Example Implementations: Includes working examples of tools, resources, and prompts
- Easy to Extend: Simple patterns for adding your own custom functionality
- Production Ready: Includes build scripts, linting, and formatting configurations
Quick Start (TypeScript)
Installation
# Install dependencies
npm install
# Build the project
npm run build
# Start the server
npm start
# Or run in development mode
npm run dev
Project Structure
ChillMCP/
βββ main.py # Python hackathon server
βββ requirements.txt # Python dependencies
βββ venv/ # Python virtual environment
βββ .python-version # pyenv Python version (3.11.9)
βββ guide.txt # Hackathon mission guide
βββ src/ # TypeScript server
β βββ index.ts # Main entry point
β βββ config/
β β βββ server.config.ts # Server configuration
β βββ types/
β β βββ index.ts # TypeScript type definitions
β βββ tools/ # MCP Tools
β β βββ index.ts
β β βββ echo.tool.ts
β β βββ calculator.tool.ts
β β βββ time.tool.ts
β βββ resources/ # MCP Resources
β β βββ index.ts
β β βββ greeting.resource.ts
β β βββ info.resource.ts
β βββ prompts/ # MCP Prompts
β βββ index.ts
β βββ assistant.prompt.ts
β βββ code-review.prompt.ts
β βββ explain.prompt.ts
βββ dist/ # Compiled JavaScript output
βββ package.json
βββ tsconfig.json
βββ README.md
Built-in Features
Tools
ChillMCP comes with several example tools:
- echo: Echoes back messages with timestamps
- add: Adds two numbers
- multiply: Multiplies two numbers
- calculate: Performs arithmetic operations (add, subtract, multiply, divide)
- get-time: Returns current timestamp and timezone information
Resources
- greeting: Dynamic greeting generator (e.g.,
greeting://John) - server-info: Server information and capabilities (
info://server)
Prompts
- assistant: AI assistant prompt for task help
- code-review: Structured code review prompts
- explain: Concept explanation with difficulty levels
Usage with Claude Desktop
To use ChillMCP with Claude Desktop, add it to your Claude configuration:
On macOS
Edit ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"chillmcp": {
"command": "node",
"args": ["/absolute/path/to/ChillMCP/dist/index.js"]
}
}
}
On Windows
Edit %APPDATA%\Claude\claude_desktop_config.json:
{
"mcpServers": {
"chillmcp": {
"command": "node",
"args": ["C:\\absolute\\path\\to\\ChillMCP\\dist\\index.js"]
}
}
}
After adding the configuration, restart Claude Desktop.
Extending ChillMCP
Adding a New Tool
- Create a new file in
src/tools/(e.g.,my-tool.tool.ts):
import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
import { z } from 'zod';
export function registerMyTool(server: McpServer) {
server.registerTool(
'my-tool',
{
title: 'My Custom Tool',
description: 'Description of what my tool does',
inputSchema: {
param1: z.string().describe('First parameter'),
param2: z.number().describe('Second parameter'),
},
outputSchema: {
result: z.string(),
},
},
async ({ param1, param2 }) => {
// Your tool logic here
const output = { result: `Processed ${param1} with ${param2}` };
return {
content: [{ type: 'text', text: JSON.stringify(output) }],
structuredContent: output,
};
}
);
}
- Register it in
src/tools/index.ts:
import { registerMyTool } from './my-tool.tool.js';
export function registerTools(server: McpServer) {
// ... existing tools
registerMyTool(server);
}
Adding a New Resource
- Create a new file in
src/resources/(e.g.,my-resource.resource.ts):
import { McpServer, ResourceTemplate } from '@modelcontextprotocol/sdk/server/mcp.js';
export function registerMyResource(server: McpServer) {
server.registerResource(
'my-resource',
new ResourceTemplate('my-resource://{id}', { list: undefined }),
{
title: 'My Resource',
description: 'Description of my resource',
},
async (uri, { id }) => ({
contents: [
{
uri: uri.href,
text: `Resource content for ID: ${id}`,
},
],
})
);
}
- Register it in
src/resources/index.ts:
import { registerMyResource } from './my-resource.resource.js';
export function registerResources(server: McpServer) {
// ... existing resources
registerMyResource(server);
}
Adding a New Prompt
- Create a new file in
src/prompts/(e.g.,my-prompt.prompt.ts):
import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
import { z } from 'zod';
export function registerMyPrompt(server: McpServer) {
server.registerPrompt(
'my-prompt',
{
title: 'My Custom Prompt',
description: 'Description of my prompt',
argsSchema: {
input: z.string().describe('Input parameter'),
},
},
({ input }) => ({
messages: [
{
role: 'user' as const,
content: {
type: 'text' as const,
text: `Process this: ${input}`,
},
},
],
})
);
}
- Register it in
src/prompts/index.ts:
import { registerMyPrompt } from './my-prompt.prompt.js';
export function registerPrompts(server: McpServer) {
// ... existing prompts
registerMyPrompt(server);
}
Development
Available Scripts
# Build the project
npm run build
# Run in development mode (with hot reload)
npm run dev
# Start the built server
npm start
# Watch mode for TypeScript compilation
npm run watch
# Clean build directory
npm run clean
# Lint code
npm run lint
# Format code
npm run format
Configuration
Server configuration can be modified in src/config/server.config.ts:
export const serverConfig: ServerConfig = {
name: 'chillmcp',
version: '1.0.0',
description: 'A flexible MCP server built with TypeScript',
};
Architecture
ChillMCP follows the official Model Context Protocol specification:
- Tools: Functions that the AI can call to perform actions
- Resources: Data that the AI can read (files, API endpoints, etc.)
- Prompts: Reusable prompt templates for common tasks
The server uses the StdioServerTransport for communication, which is the standard for local MCP servers.
Requirements
- Node.js >= 18.0.0
- npm or yarn
Dependencies
@modelcontextprotocol/sdk: Official MCP SDKzod: Schema validation for inputs and outputs- TypeScript and related tooling
Troubleshooting
Server not appearing in Claude Desktop
- Check that the path in your config is absolute (not relative)
- Ensure the project is built (
npm run build) - Verify the path points to
dist/index.js - Restart Claude Desktop after config changes
Build errors
Make sure all dependencies are installed:
npm install
TypeScript errors
Check your Node.js version:
node --version # Should be >= 18.0.0
Contributing
Contributions are welcome! Please feel free to submit issues or pull requests.
License
MIT
Learn More
Built with the Model Context Protocol. Happy coding!
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.