MCP地震AI工具服务器
一个基于 TypeScript 实现的 Model Context Protocol 服务器,为开发者提供了一个无缝的框架来构建和部署 AI 工具及提示词,专注于开发者体验,实现零样板代码和自动工具注册。
服务介绍
D0UGWITHSEISMIC/WITHSEISMIC-MCP

SYSTEMS ONLINE • NEURAL INTERFACE ACTIVE • COMBAT DATA ANALYSIS • TACTICAL OVERLAY ENABLED • PERFORMANCE METRICS NOMINAL
一个可用于生产的MCP服务器模板,用于托管您自己的AI工具和提示。无论是远程部署还是本地运行,该模板都为那些希望将工具暴露给AI模型而无需担心基础设施问题的开发者设计。
://WHO_IS_THIS_FOR?
该模板非常适合以下人群:
- AI工具开发者:构建并托管可供AI模型交互的工具
- 团队与组织:为您的AI应用程序设置共享的MCP服务器
- 个人开发者:通过生产就绪的配置快速开始您的MCP开发
- API提供者:通过标准化接口向AI模型开放您的服务
无论您想要:
- 🌐 托管一个多个客户端可以连接的远程MCP服务器
- 🔧 通过stdio本地运行以进行开发和测试
- 🚀 部署一个生产就绪的MCP实现
- 🛠️ 在不考虑基础设施的情况下构建工具
此模板提供了您开始所需的一切。
://OVERVIEW
MCP服务器提供了两种方式来使您的工具对AI模型可用:
-
远程服务器模式(SSE):作为多个客户端可连接的远程服务器部署
- 适合生产环境部署
(pnpm start:sse) - 支持多个同时连接
- 易于部署到如Railway这样的平台
- 安全且可扩展
- 适合生产环境部署
-
本地模式(stdio):本地运行用于开发和测试
(pnpm start)- 适用于本地开发
- 直接通过stdio通信
- 快速迭代和调试
主要特性:
- 工具:模型可以调用的可执行函数
- 提示:基于模板的消息生成器
- 自动发现:组件的自动注册
- 类型安全:全程支持TypeScript
://WHY_USE_THIS_MCP_SERVER_TEMPLATE?
虽然Model Context Protocol (MCP)还处于早期阶段,但有一点是明确的:快速采用需要无摩擦的开发过程。这个实现专注于一个目标:让开发者能够专注于构建优秀的工具,而不是基础设施。
INSTANT_DEPLOYMENT
# Option 1: One-Click Deploy
Click the "Deploy on Railway" button above ☝️
# Option 2: Local Setup
pnpm install && pnpm dev
ZERO_FRICTION_DEVELOPMENT
- 无样板代码:定义您的工具,导入它,完成。其余部分由我们处理。
- 自动注册:工具和提示会自动被发现并注册。
- 类型安全:完全支持TypeScript,零配置。
BATTLE_TESTED_ARCHITECTURE
- 生产就绪:为可靠性和性能而构建。
- 可扩展设计:从简单的工具到复杂的AI交互。
- 错误恢复能力强:内置强大的错误处理和调试功能。
DEVELOPER_EXPERIENCE_FIRST
// That's it. This is all you need to create a tool.
export const myTool = new Tool(
{
name: "myTool",
description: "What my tool does",
inputSchema: z.object({ query: z.string() }),
outputSchema: z.object({ result: z.string() }),
},
async (args) => {
// Your logic here
return { result: "Done!" };
},
);
我们负责:
- ⚡ 连接管理
- 🔄 工具注册
- 🛡️ 输入验证
- 📦 状态管理
- 🚨 错误处理
- 📊 日志和指标
您专注于:
- 🎯 构建出色的工具
- 🧠 创建强大的提示
- 🚀 发布功能
://GETTING_STARTED
安装
pnpm install
运行服务器
有两种模式可用:
- 标准模式(stdio):
pnpm dev # Development with hot reload
pnpm start # Production
- SSE(Server-Sent Events)模式:
pnpm dev:sse # Development with hot reload
pnpm start:sse # Production
在SSE模式下运行时,连接到:http://localhost:3001/sse
://CORE_CONCEPTS
工具
工具是模型可以调用的可执行函数。每个工具:
- 使用Zod定义输入/输出模式
- 自动注册到注册表
- 可以执行任何操作(计算、文件I/O、API调用等)
示例工具:
import { z } from "zod";
import { Tool } from "../core";
const MyToolInputSchema = z.object({
param1: z.string().describe("Parameter description"),
});
const MyToolOutputSchema = z.object({
result: z.string().describe("Result description"),
});
export const myTool = new Tool(
{
name: "myTool",
description: "What my tool does",
inputSchema: MyToolInputSchema,
outputSchema: MyToolOutputSchema,
},
async (args) => {
const input = MyToolInputSchema.parse(args);
// Tool logic here
return { result: "processed result" };
},
);
提示
提示是帮助结构化模型交互的消息生成器。每个提示:
- 定义其参数模式
- 以一致的格式生成消息
- 自动注册到注册表
示例提示:
import { Prompt } from "../core";
export const myPrompt = new Prompt(
{
name: "myPrompt",
description: "What my prompt does",
arguments: [
{
name: "arg1",
description: "Argument description",
required: true,
},
],
},
async (args) => {
return [
{
role: "system",
content: {
type: "text",
text: `Generated message using ${args.arg1}`,
},
},
];
},
);
://ADDING_NEW_COMPONENTS
创建新工具
- 在
src/modules/tools/中创建一个新文件 - 使用Zod定义您的输入/输出模式
- 创建并导出您的工具实例
- 将导出添加到
src/modules/tools/index.ts
注册表将自动:
- 注册您的工具
- 使其对模型可用
- 处理验证和错误处理
创建新提示
- 在
src/modules/prompts/中创建一个新文件 - 定义您的参数模式
- 创建并导出您的提示实例
- 将导出添加到
src/modules/prompts/index.ts
注册表将自动:
- 注册您的提示
- 使其对模型可用
- 处理消息生成和错误
架构
核心组件
- 注册表:所有工具和提示的中央管理器
- 工具:可执行函数的基类
- 提示:消息生成器的基类
- 服务器:MCP协议实现
自动注册
系统使用单例注册表模式,该模式:
- 在导入时自动注册工具和提示
- 提供类型安全的组件访问
- 处理所有MCP协议交互
错误处理
系统包括强大的错误处理功能:
- 通过Zod模式进行类型验证
- 执行错误包装
- 详细的调试错误信息
开发
类型安全
所有组件都使用TypeScript以确保完全类型安全:
- 使用Zod定义输入/输出模式
- 工具参数和结果的类型推断
- 全面的错误类型
测试
运行测试:
pnpm test
最佳实践
- 始终定义清晰的输入/输出模式
- 使用描述性的名称和文档
- 优雅地处理错误
- 遵循代码库中的 TypeScript 指南
://CONTRIBUTING
NEURAL INTERFACE DETECTED • INITIATING COLLABORATION PROTOCOLS • READY FOR UPLINK
我们欢迎贡献!请参阅我们的贡献指南以获取有关以下方面的详细信息:
- 开发工作流程
- 代码样式指南
- 拉取请求过程
- 问题报告
加入我们的Discord 社区,与其他贡献者联系!
://SUPPORT
SUPPORT PROTOCOLS ACTIVE • COMMUNICATION CHANNELS OPEN • READY TO ASSIST
- 📫 电子邮件: hello@withseismic.com
- 💬 Discord: 加入我们的服务器
://LICENSE
此项目根据 MIT 许可证发布 - 查看LICENSE文件以获取详细信息。
版权所有 © 2025 Doug, at WithSeismic dot com.