Token导航 LogoToken导航

MCP Server · AI代理

Chuk MCP Function Server

一个高性能、可配置的MCP(模型上下文协议)服务器基础设施,用于构建领域特定的功能服务器,支持STDIO和HTTP传输。

stdio官方级别未说明来源级核验工具 1
PythonAI代理工作流自动化

快速开始

作者 / 组织
chrishayuk
提供方
chrishayuk

工具数量

1

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

2

仓库热度

收录来源

1 个

MCP World

选型结论

Chuk MCP Function Server 属于AI代理类 MCP Server,公开资料标注 1 个工具,通过stdio 本地进程接入,客户端适配情况以官方文档为准,有可以直接复制的安装命令;接入前先确认权限范围。

分类

AI代理

传输方式

stdio

认证方式

无需认证

部署方式

公开资料未说明

安装与配置

安装命令

pip install chuk-mcp-function-server

公开命令不是通用的启动方式,拼不出可靠配置示例;请在客户端 MCP 配置里按官方文档填写 command 和 args。

上手步骤

  1. 1

    准备运行环境

    stdio 服务在本地起进程,需要先装好 对应的运行时,再按安装命令拉取依赖。

  2. 2

    安装服务

    复制下面的安装命令执行;命令里带占位符的位置换成自己的密钥或路径。

  3. 3

    写入客户端配置

    在客户端的 MCP 配置里填启动命令和参数,保存后完全退出客户端再打开,让新配置生效。

  4. 4

    验证是否可用

    连接成功后客户端会列出 1 个工具,随便调一个只读工具确认能返回结果。

接入前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

详细介绍

Chuk MCP功能服务器

一种高性能、可配置的MCP(模型上下文协议)服务器基础设施,用于构建具有纯功能的领域特定功能服务器。

非常适合将数学计算、数据转换和无状态操作作为MCP工具公开,同时支持STDIO和HTTP传输。

🚀 特性

🏗️ 基础设施

  • 双重运输:开箱即用的STDIO和HTTP支持
  • 配置管理:YAML、JSON、环境变量和CLI参数
  • 功能过滤:灵活的allowlist/denylist系统
  • 错误处理:具有超时和恢复功能的强大错误处理
  • 演出:纯函数的亚毫秒延迟(2700+操作/秒)

🔧 开发者体验

  • 纯功能焦点:针对无状态、确定性功能进行了优化
  • 易于扩展:特定于域的服务器的简单基类
  • 丰富的CLI:带帮助的全面命令行界面
  • 调试工具:内置调试和测试实用程序
  • 类型安全:完整的类型提示和验证

📊 生产就绪

  • 健康监测:内置健康检查和指标
  • 资源管理:内存和CPU监控
  • 并行支持:处理多个同时进行的请求
  • CORS支持:已为web应用程序做好准备
  • 日志记录:具有可配置级别的结构化日志记录

📦 安装

pip install chuk-mcp-function-server

可选依赖关系

# For HTTP transport
pip install chuk-mcp-function-server[http]

# For development tools
pip install chuk-mcp-function-server[dev]

# Install everything
pip install chuk-mcp-function-server[full]

🏃 快速开始

1.创建您的服务器

#!/usr/bin/env python3
from chuk_mcp_function_server import BaseMCPServer, ServerConfig, main

class MyCalculatorServer(BaseMCPServer):
    def __init__(self, config: ServerConfig):
        config.server_name = "my-calculator-server"
        config.server_description = "Mathematical calculations MCP server"
        super().__init__(config)
    
    def _register_tools(self):
        """Register your pure functions as MCP tools."""
        self.register_tool(
            name="add",
            handler=self._add,
            schema={
                "type": "object",
                "properties": {
                    "a": {"type": "number", "description": "First number"},
                    "b": {"type": "number", "description": "Second number"}
                },
                "required": ["a", "b"]
            },
            description="Add two numbers"
        )
    
    async def _add(self, a: float, b: float) -> str:
        """Pure function: add two numbers."""
        result = a + b
        return f"Result: {a} + {b} = {result}"

if __name__ == "__main__":
    main(server_class=MyCalculatorServer)

2.运行服务器

# STDIO mode (default)
python my_server.py

# HTTP mode
python my_server.py --transport http --port 8000

# With configuration file
python my_server.py --config server-config.yaml

3.测试您的服务器

# Create a simple client
import asyncio
import json

async def test_calculator():
    # Start your server process and send JSON-RPC messages
    # See examples/ directory for complete client implementations
    pass

📚 例子

我们提供完整的 天气计算服务器 示例演示:

  • ✅ 10个纯天气功能:温度转换、热指数、风寒、露点、日出/日落时间、紫外线计算等
  • ✅ 真正的科学公式:NWS热指数、马格纳斯公式、泰滕斯公式、气压修正
  • ✅ 两种运输方式:带有完整演示的STDIO和HTTP客户端
  • ✅ 性能基准:实现2700多次操作/秒

运行示例

# Clone the repository to get examples
git clone https://github.com/your-org/chuk-mcp-function-server.git
cd chuk-mcp-function-server

# Test STDIO transport
uv run examples/weather_calculations_stdio_client.py

# Test HTTP transport  
uv run examples/weather_calculations_http_client.py

# Run performance benchmarks
uv run examples/weather_calculations_benchmark.py

🔧 配置

命令行选项

python my_server.py \
  --transport http \
  --port 8000 \
  --host 0.0.0.0 \
  --verbose \
  --functions add multiply \
  --timeout 30

配置文件(YAML)

# server-config.yaml
transport: http
port: 8000
host: "0.0.0.0"
enable_tools: true
enable_resources: true
enable_prompts: false
log_level: "INFO"

# Function filtering
function_allowlist:
  - add
  - multiply
  - divide

# Performance settings
cache_strategy: smart
computation_timeout: 30.0
max_concurrent_calls: 10

环境变量

export MCP_SERVER_TRANSPORT=http
export MCP_SERVER_PORT=8000
export MCP_SERVER_LOG_LEVEL=DEBUG
export MCP_SERVER_FUNCTION_allowlist=add,multiply

🏛️ 建筑

┌─────────────────────────────────────┐
│           Your Server               │
│  (extends BaseMCPServer)            │
├─────────────────────────────────────┤
│      Chuk MCP Function Server       │
│  ┌─────────────┬─────────────────┐  │
│  │   Config    │   Function      │  │
│  │ Management  │   Filtering     │  │
│  └─────────────┴─────────────────┘  │
│  ┌─────────────┬─────────────────┐  │
│  │    STDIO    │      HTTP       │  │
│  │  Transport  │   Transport     │  │
│  └─────────────┴─────────────────┘  │
├─────────────────────────────────────┤
│         MCP Protocol Layer          │
└─────────────────────────────────────┘

关键组件

  • BaseMCP服务器:您的服务器扩展了此类
  • 服务器配置:全面的配置管理
  • 函数过滤器:控制暴露的功能
  • 传输层:STDIO和HTTP支持
  • 命令行界面:命令行界面和参数解析

🎯 核心概念

纯函数

此框架针对以下方面进行了优化 纯函数 -功能如下:

  • ✅ 确定性的:相同的输入总是产生相同的输出
  • ✅ 无副作用:无数据库调用、文件I/O或网络请求
  • ✅ 无状态:每个函数调用都是独立的
  • ✅ 快速:无I/O瓶颈意味着亚毫秒级性能
# ✅ Perfect for this framework
async def celsius_to_fahrenheit(self, celsius: float) -> str:
    fahrenheit = (celsius * 9/5) + 32
    return json.dumps({"celsius": celsius, "fahrenheit": fahrenheit})

# ❌ Not ideal (has side effects)
async def get_weather_from_api(self, city: str) -> str:
    response = await httpx.get(f"http://api.weather.com/{city}")
    return response.text

工具注册

使用JSON模式将您的函数注册为MCP工具:

def _register_tools(self):
    tools = [
        {
            "name": "calculate_bmi",
            "handler": self._calculate_bmi,
            "description": "Calculate Body Mass Index",
            "schema": {
                "type": "object",
                "properties": {
                    "weight_kg": {"type": "number", "description": "Weight in kilograms"},
                    "height_m": {"type": "number", "description": "Height in meters"}
                },
                "required": ["weight_kg", "height_m"]
            }
        }
    ]
    
    for tool in tools:
        self.register_tool(**tool)

功能过滤

控制暴露的功能:

# Configuration
function_allowlist = ["add", "multiply"]  # Only these functions
function_denylist = ["dangerous_function"]  # Exclude these
domain_allowlist = ["math", "conversion"]  # Only these domains
category_allowlist = ["safe"]  # Only these categories

📊 演出

天气计算示例的基准结果:

🏆 BENCHMARK RESULTS
================================================================================
Test Name                 Transport  Ops/sec    Avg (ms)   P95 (ms)   Memory (MB)
--------------------------------------------------------------------------------
STDIO Single-Threaded     stdio      2702.7     0.4        0.8        40.6      
HTTP Single-Threaded      http       1499.5     0.7        0.8        50.3      
HTTP Concurrent (x5)      http       539.3      1.4        1.7        49.6      
HTTP Mixed Operations     http       1541.9     0.6        0.8        49.7      

非常适合需要快速数学计算的高性能应用。

🛠️ 发展

项目结构

chuk-mcp-function-server/
├── src/chuk_mcp_function_server/
│   ├── __init__.py          # Main exports
│   ├── base_server.py       # BaseMCPServer class
│   ├── config.py            # Configuration management
│   ├── function_filter.py   # Function filtering system
│   ├── cli.py               # Command-line interface
│   └── _version.py          # Version management
├── examples/
│   ├── weather_calculations_server.py     # Complete example server
│   ├── weather_calculations_stdio_client.py   # STDIO client
│   ├── weather_calculations_http_client.py    # HTTP client
│   └── weather_calculations_benchmark.py      # Performance tests
├── tests/                   # Test suite
└── docs/                    # Documentation

运行测试

# Install development dependencies
pip install chuk-mcp-function-server[dev]

# Run tests
pytest

# Run with coverage
pytest --cov=chuk_mcp_function_server

# Run type checking
mypy src/

# Format code
black src/ examples/
isort src/ examples/

调试工具

# Check setup and dependencies
python examples/debug_setup.py

# Test imports and file structure
python examples/test_import.py

# Check server functionality
python examples/weather_calculations_server.py --help

🌐 HTTP API

在HTTP模式下运行时,服务器提供额外的REST端点:

端点

  • GET / -服务器信息
  • GET /health -健康检查
  • POST /mcp -MCP协议端点

服务器信息响应

{
  "server": "my-calculator-server",
  "version": "1.0.0",
  "description": "Mathematical calculations MCP server",
  "transport": "http"
}

健康检查响应

{
  "status": "healthy",
  "timestamp": 1706356800.123,
  "server": "my-calculator-server"
}

MCP协议

将JSON-RPC消息发送到 /mcp:

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "add",
    "arguments": {"a": 5, "b": 3}
  }
}

🔒 安全考虑

  • 功能过滤:使用allowlist/denylist来控制暴露的函数
  • 输入验证:所有工具模式都经过验证
  • 超时保护:可配置的计算超时可防止挂起
  • 资源限制:内存和CPU监控有限制
  • CORS配置:可配置用于web应用程序
  • 无任意代码:只能调用已注册的函数

🤝 贡献

我们欢迎捐款!请查看我们的 贡献指南 了解详情。

贡献领域

  • 🧮 更多示例:特定于域的服务器示例
  • 🔧 工具:其他CLI实用程序和调试工具
  • 📊 演出:优化和基准测试改进
  • 📚 文档:教程和指南
  • 🧪 测试:测试覆盖率和集成测试

📄 许可证

此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。

🙏 致谢

  • MCP协议:基于模型上下文协议规范构建
  • 快速 API:由FastAPI支持的HTTP传输
  • 派丹蒂克:使用Pydantic模型进行配置和验证
  • 天气科学:示例使用NOAA/NWS的真实气象公式

📞 支持

  • 📖 文档: 全部文件
  • 🐛 问题:
  • 💬 讨论:
  • 📧 电子邮件: support@chuk-mcp-function-server.com

______________________________________________________________________

内置于❤️ 对于MCP社区

*使纯函数易于作为高性能MCP工具公开。*

工具与能力

工具数量

1

资源数量

0

提示词数量

0

能力标签

高性能服务器Python本地部署MCP协议纯函数处理领域特定功能HTTP/STDIO支持

数量来自来源目录的标注,具体工具清单以官方文档为准。

典型使用场景

多步任务编排

把拆解、检索、执行串成一条链,模型按步骤调用工具。

长期上下文

把会话、笔记和知识放到外部存储,换个会话还能接着做。

接自有流程

把内部系统和模型连起来,让助手调用已有的工作流。

选择建议

值得选的地方

  • 只提供 1 个工具,职责集中,接入后不容易误操作。
  • 有现成的安装命令,不用自己找入口,照着跑就能起服务。
  • 公开说明写得比较完整,接入前能看清能力边界。

先想清楚的地方

  • stdio 方式要求本地装好 运行环境,换机器要重新装一遍。
  • 第三方目录整理,版本更新和行为细节以官方仓库为准。

更适合

  • 需要在AI代理场景里让模型直接调用外部能力的人。
  • 想先快速试一下、能接受在本地跑服务的人。

不太适合

  • 完全不想在本地装环境的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
Chuk MCP Function Server

MCP World · 本页

1stdio有1 个2026-05-17
Everything Claude Code

MCP World

0stdio有1 个2026-05-17
Filesystem 560c4363

MCP World

13未说明未标注2 个2026-05-17
Time 7365cb6d

MCP.so

2SSE有2 个2026-05-17
Server Everything (everything)

MCP World

11stdio有1 个2026-05-17

按同分类和工具数量挑出最接近的几条,字段以各自详情页为准。

常见问题

5 条

Chuk MCP Function Server 怎么安装?

公开资料给出的安装命令是 pip install chuk-mcp-function-server,运行环境为 未标注。装完后按客户端要求写进 MCP 配置,重启客户端生效。

Chuk MCP Function Server 怎么在 Claude Desktop、Cursor 里配置?

它是stdio 本地进程,客户端配置里要写启动命令和参数,运行环境是 未标注;保存后完全退出客户端再打开,配置才会生效。

Chuk MCP Function Server 收费吗?

本站只整理公开资料,不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

Chuk MCP Function Server 需要 API Key 吗?

公开资料标注为无需认证,装好就能连;如果实际调用时报鉴权错误,按官方文档补上凭据。

Chuk MCP Function Server 支持哪些客户端?

公开资料没有标注具体客户端;能配置本地 MCP 命令的客户端都能接,配置方式参照官方文档。

来源信息

继续浏览同类 MCP