Token导航 LogoToken导航TokenDH.com
MCP Monorepo logo
设计创作未说明官方级别未说明来源级核验

MCP Monorepo

MCP Server

一个基于模块化monorepo架构的Model Context Protocol(MCP)服务器和工具集合,包含位置、邮件、npm等多种服务。

工具数

0

提示词数

0

GitHub Stars

0

资源数

0
模块化设计位置天气TypeScript邮件服务

安装说明

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

作者 / 组织

Caesar2011

提供方

Caesar2011

最后核验

2026/5/17 20:19

快速接入

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

详细介绍

MCP工具Monorepo

一组模型上下文协议(MCP)服务器和工具,采用模块化单仓库架构构建。此存储库包含多个包,包括用于位置、邮件、npm等的服务器。

🏗️ 架构概述

该项目是一个结构良好的单仓库,具有以下好处:

  • 模块化设计:每个工具都是一个单独的包,有明确的关注点分离。
  • 共享公用设施:通用功能被提取到可重用的包中。
  • 类型安全:具有正确类型定义的完全TypeScript支持。
  • 可测试性:具有独立单元测试的综合测试套件。
  • 自动发布:版本控制和发布到npm是自动化的 变更集.
  • 可扩展性:易于添加新工具和扩展功能。

🚀 入门指南

先决条件

  • Node.js 18+
  • 纱线1.x+(经典)

安装

# Install all dependencies for all packages
yarn install

建筑

# Build all packages
yarn build

# Build a specific package
yarn workspace @mcp-monorepo/npm build

发展

# Start development mode with file watching for all packages
yarn dev

# Start a specific package in dev mode
yarn workspace @mcp-monorepo/npm dev

测试

# Run all tests
yarn test

# Run tests with coverage
yarn test:coverage

# Run tests in watch mode
yarn test:watch

📦 发布软件包

此monorepo使用 变更集 管理版本控制、变更日志和发布到npm。发布过程通过GitHub Actions自动完成。

以下是发布更改的开发人员工作流程:

步骤1:更改代码

像往常一样在任何包中更改代码。

步骤2:添加变更集

在提交之前,运行以下命令以声明您的释放意图:

yarn cs:add

这将启动一个交互式CLI,询问您:

  1. 哪些包已更改。
  2. 语义版本碰撞应该是什么(patch, minor,或 major)对于每个包裹。
  3. 更改日志的更改摘要。

此过程在 .changeset 目录。

第三步:承诺并推动

提交代码更改 _和_ 新创建的变更集文件。

git add .
git commit -m "feat(mail): add support for searching emails"
git push

步骤4:自动拉取请求

一旦您的更改被推送到 main 分支(或PR被合并) Release GitHub Action将触发。它将自动创建一个名为的新Pull Request Version Packages.

此PR捆绑了所有新的变更集,更新了 version 在受影响的 package.json 文件,并生成 CHANGELOG.md 文件夹。

步骤5:合并和发布

只需回顾和 合并 Version Packages 公关合并后,相同的GitHub Action将再次运行。这一次,它将构建所有的包和 将更新后的版本发布到npm.

______________________________________________________________________

🔧 示例工具:位置服务器

此存储库包含多个工具。以下是一个示例 @mcp-monorepo/location 包裹。

1.获取当前位置

工具ID: get-current-location

描述:根据您的公共IP地址获取当前位置信息。

参数:无

示例响应:

Current Location Information:

IP Address: 203.0.113.1
Location: New York, New York, United States
Coordinates: 40.7128, -74.0060
Timezone: America/New_York
Postal Code: 10001
ISP: Example ISP

2.通过IP获取位置

工具ID: get-location-by-ip

描述:获取特定IP地址的位置信息。

参数:

  • ipAddress (字符串,必填):查找位置信息的IP地址

示例响应:

Location Information for 8.8.8.8:

IP Address: 8.8.8.8
Location: Mountain View, California, United States
Coordinates: 37.386, -122.0838
Timezone: America/Los_Angeles
ISP: Google LLC

🏛️ 建筑原理

关注点分离

每个工具都被组织成不同的层:

  • 类型:TypeScript接口和类型定义
  • 助手:纯业务逻辑和数据处理
  • 格式化器:输出格式和演示
  • 处理器:MCP协议集成
  • 索引:工具注册和导出

依赖管理

该架构促进了:

  • 明确依赖关系:每个包都明确声明其依赖关系。
  • 工作空间分辨率:内部包使用 workspace:* 协议,以确保它们始终解析为monorepo中的本地版本。

错误处理

强大的错误处理功能:

  • 输入验证:所有输入在处理前都经过验证。
  • 优雅降级:为用户提供有意义的错误消息。
  • 结构化错误:跨工具的错误格式一致。

🤝 贡献

欢迎投稿!请按照以下步骤操作:

  1. 克隆存储库并安装依赖项 yarn install.
  2. 在各自的工具中添加或修改工具 packages/* 目录。
  3. 为任何新功能添加全面的测试。
  4. 遵循既定的模式以保持一致性。
  5. 当你的更改准备就绪时,创建一个变更集来记录版本升级。看 发布软件包 详细说明部分。

📄 许可证

ISC许可证-请参阅根 package.json 了解详情。

目录标签

目录标签

模块化设计位置天气TypeScript邮件服务本地部署位置服务npm工具TypeScript支持

接入字段

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

未说明

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

none

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

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

0

权限和风险

未说明none部署方式未说明

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

安装前确认

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

仍需确认:installCommand

来源信息

继续浏览同类 MCP