Token导航 LogoToken导航TokenDH.com
Oro MCP Base logo
开发工具stdio官方级别未说明来源级核验

Oro MCP Base

MCP Server

our-mcp-base是一个用于构建MCP(Model Context Protocol)服务器的基架工具,提供生命周期钩子、工具路由器和响应格式化功能,减少重复代码并确保一致性。

工具数

1

提示词数

0

GitHub Stars

0

资源数

0
服务器框架Python开发工具

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

ourochronos

提供方

ourochronos

最后核验

2026/5/17 20:22

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

pip install our-mcp-base

详细介绍

⚠️ 已弃用

这个图书馆是Ourochronos砖砌系统的一部分。它已作为依赖项被删除,不再维护。 此仓库仅供参考。

______________________________________________________________________

我们的mcp基地

在ourochronos生态系统中构建MCP(模型上下文协议)服务器的基本框架。

概述

我们的mcp库为mcp服务器实现提供了可重用的模式:一个具有生命周期钩子的抽象基类、一个基于装饰器的工具路由器和一致的响应格式。它减少了样板,并确保生态系统中的所有MCP服务器遵循相同的约定。

安装

pip install our-mcp-base

需要 mcp>=1.0.

用法

基本服务器

from mcp.types import Tool
from our_mcp_base import MCPServerBase

class MyServer(MCPServerBase):
    server_name = "my-server"

    def get_tools(self) -> list[Tool]:
        return [
            Tool(name="greet", description="Say hello", inputSchema={...}),
        ]

    def handle_tool(self, name: str, arguments: dict) -> dict:
        if name == "greet":
            return {"success": True, "message": f"Hello, {arguments['name']}!"}
        return {"success": False, "error": f"Unknown tool: {name}"}

if __name__ == "__main__":
    MyServer().run()

使用生命周期挂钩

MyServer(
    startup_hook=lambda: init_database(),
    health_check=lambda: check_db_connection(),
).run()

奔跑 --health-check 执行健康检查并退出,或 --skip-startup-hook 跳过初始化。

工具路由器

from our_mcp_base import ToolRouter

router = ToolRouter()

@router.register("greet")
def handle_greet(name: str, enthusiasm: int = 1) -> dict:
    return {"success": True, "message": f"Hello, {name}{'!' * enthusiasm}"}

# In handle_tool:
result = router.dispatch(name, arguments)

响应助手

from our_mcp_base import success_response, error_response, not_found_response

success_response(data="value", count=42)
# → {"success": True, "data": "value", "count": 42}

error_response("Invalid input", code=400)
# → {"success": False, "error": "Invalid input", "code": 400}

not_found_response("Belief", "belief-123")
# → {"success": False, "error": "Belief not found: belief-123"}

自定义错误处理

def handle_db_error(exc: Exception, tool_name: str) -> list[TextContent]:
    return [TextContent(type="text", text=json.dumps({"success": False, "error": str(exc)}))]

server = MyServer(error_handlers=[(DatabaseError, handle_db_error)])

API

符号说明
MCPServerBase抽象基类——实现 get_tools()handle_tool()
ToolRouter基于装饰器的工具调度注册表
success_response(**kwargs)退货 {success: True, ...}
error_response(error, **kwargs)退货 {success: False, error: str, ...}
not_found_response(type, id)返回404样式的错误响应

发展

# Install with dev dependencies
make dev

# Run linters
make lint

# Run tests
make test

# Run tests with coverage
make test-cov

# Auto-format
make format

国家所有权

没有。此包仅提供基类和实用程序。State由继承自以下内容的具体MCP服务器实现拥有 MCPServerBase.

Valence的一部分

许可证

麻省理工学院

目录标签

目录标签

服务器框架Python开发工具本地部署MCP协议代码复用Python库

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

1

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

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

来源信息

继续浏览同类 MCP