
系统在线 • 神经接口激活 • 战斗数据分析 • 战术覆盖启用 • 性能指标正常
一个用于托管您自己的AI工具和提示的生产就绪型MCP服务器模板。可以远程部署或本地运行——专为希望将工具暴露给AI模型而无需担心基础设施问题的开发者设计。
此模板适用于:
无论您想要:
此模板提供了您开始所需的一切。
MCP服务器提供两种方式将您的工具暴露给AI模型:
远程服务器模式(SSE):作为多个客户端可以连接到的远程服务器部署
pnpm start:sse)本地模式(stdio):用于开发和测试的本地运行
(pnpm start)
关键特性:
虽然模型上下文协议(MCP)仍处于早期阶段,但有一点是明确的:快速采用需要无摩擦的开发。此实现专注于让开发者专注于构建出色的工具,而不是基础设施。
# 选项1:一键部署
点击上方的“在Railway上部署”按钮 ☝️
# 选项2:本地设置
pnpm install && pnpm dev
// 这就是全部。这就是您创建工具所需的一切。
export const myTool = new Tool(
{
name: "myTool",
description: "我的工具做什么",
inputSchema: z.object({ query: z.string() }),
outputSchema: z.object({ result: z.string() }),
},
async (args) => {
// 您的逻辑在这里
return { result: "完成!" };
},
);
我们处理:
您只需关注:
pnpm install
有两种模式可用:
pnpm dev # 带热重载的开发
pnpm start # 生产
pnpm dev:sse # 带热重载的开发
pnpm start:sse # 生产
当以SSE模式运行时,连接到:http://localhost:3001/sse
工具是模型可以调用的可执行函数。每个工具:
示例工具:
import { z } from "zod";
import { Tool } from "../core";
const MyToolInputSchema = z.object({
param1: z.string().describe("参数描述"),
});
const MyToolOutputSchema = z.object({
result: z.string().describe("结果描述"),
});
export const myTool = new Tool(
{
name: "myTool",
description: "我的工具做什么",
inputSchema: MyToolInputSchema,
outputSchema: MyToolOutputSchema,
},
async (args) => {
const input = MyToolInputSchema.parse(args);
// 工具逻辑在此处
return { result: "处理结果" };
},
);
提示是帮助结构化模型交互的消息生成器。每个提示:
示例提示:
import { Prompt } from "../core";
export const myPrompt = new Prompt(
{
name: "myPrompt",
description: "我的提示做什么",
arguments: [
{
name: "arg1",
description: "参数描述",
required: true,
},
],
},
async (args) => {
return [
{
role: "system",
content: {
type: "text",
text: `使用${args.arg1}生成的消息`,
},
},
];
},
);
src/modules/tools/中创建一个新文件src/modules/tools/index.ts注册表会自动:
src/modules/prompts/中创建一个新文件src/modules/prompts/index.ts注册表会自动:
该系统使用单例注册表模式,它:
该系统包括强大的错误处理:
所有组件都使用TypeScript以实现完全类型安全:
运行测试使用:
pnpm test
检测到神经接口 • 启动协作协议 • 准备上传
我们欢迎贡献!请参阅我们的贡献指南,了解详情:
加入我们的Discord社区,与其他贡献者联系!
支持协议激活 • 通讯渠道开放 • 准备协助
本项目根据MIT许可发布 - 详情见LICENSE文件。
© 2_25 Doug, at WithSeismic dot com.