模型上下文协议开发工具

基于Model Context Protocol (MCP) SDK的开发工具集,提供认证、数据库集成和示例组件,适用于快速构建MCP应用。

  • by shivam2320
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 shivam2320/lighter-mcp

使用说明

“lighter-mcp”可以翻译为“轻量级MCP(或:MCP轻量化)”。不过,这里的“MCP”可能是一个特定上下文中的缩写或专有名词,具体含义需要根据上下文来确定。如果“MCP”在某个领域有特定的含义,那么翻译时应该保留其特定含义。如果没有特定含义,那么“轻量级MCP”或“MCP轻量化”是一个通用的翻译

轻量级MCP(或“轻型MCP”,具体翻译取决于“lighter”在此上下文中的确切含义,MCP通常指“Minecraft (我的世界) 模组平台”或“微控制处理器”等,需根据具体语境确定)

特点/特性

  • ✅ 使用模型上下文协议(MCP)SDK构建
  • 🔐 通过Osiris Hub集成认证
  • 📊 PostgreSQL 数据库
  • 🔷 TypeScript(类型脚本)
  • 🛠️ 示例工具、资源、提示和模式

快速入门

  1. 安装依赖项:

    pnpm install
    
  2. 配置环境:

    cp .env.example .env
    # Edit .env with your configuration
    
  3. 启动开发服务器:

    pnpm run dev
    

配置

环境变量

  • HUB_BASE_URL - 您的Osiris Hub网址
  • OAUTH_CLIENT_ID - 来自Hub的OAuth客户端ID
  • OAUTH_CLIENT_SECRET - 来自Hub的OAuth客户端密钥
  • DATABASE_ADAPTER - 数据库类型(postgres)

数据库设置

PostgreSQL(中文可译为“波斯特格瑞斯”或直接使用原名,因其在中文语境中已较为通用)

  1. 安装 PostgreSQL
  2. 创建一个数据库: createdb lighter-mcp
  3. 设定;套装;一套 DATABASE_URL 在你的 .env 文件中

发展

可用脚本

  • pnpm run dev - 启动带有热重载功能的开发服务器
  • pnpm run build - 为生产环境构建(TypeScript → JavaScript)
  • pnpm run start - 启动生产服务器
  • pnpm run type-check - 运行 TypeScript 类型检查

项目结构

lighter-mcp/
├── index.ts           # Main MCP server entry point
├── client.ts          # MCP client setup and configuration
├── tools/
│   └── hello-world.ts # Simple hello world tool
├── resources/
│   └── hello-world.ts # Hello world resource
├── prompts/
│   └── hello-world.ts # Hello world prompt template
├── schema/
│   └── index.ts       # Zod schema definitions
├── .env                    # Environment variables
├── .env.example           # Environment template
└── package.json           # Dependencies and scripts

MCP组件

工具

“Hello World Tool”翻译成中文是“Hello World 工具”

一个简单的问候工具,展示了MCP工具的基本功能。

用法:

{
  "name": "hello_world",
  "arguments": {
    "name": "Alice"
  }
}

资源

“Hello World Resource”翻译成中文是“Hello World 资源”

提供一个简单的JSON资源,展示MCP资源的功能。

URI:(统一资源标识符,或统一资源定位符,具体根据上下文确定) hello://world

提示

“Hello World Prompt”翻译成中文是“Hello World 提示”

生成关于指定主题的提示。

参数:

  • topic (可选):要询问的主题(默认:“osiris”)

添加新组件

添加一个工具

在(某个位置)创建一个新文件 tools/ 并导出工具注册功能:

import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
import { z } from 'zod';

export function registerMyTool(server: McpServer) {
  const MyToolSchema = z.object({
    param1: z.string().describe('Parameter description')
  });
  
  server.tool('my_tool', 'Description of what this tool does', MyToolSchema, async ({ param1 }) => {
    // Your tool logic here
    return {
      content: [{
        type: 'text',
        text: `Tool result: ${param1}`
      }]
    };
  });
}

然后在(系统/平台)中注册它 client.ts。

添加资源

在(某个位置/目录)创建一个新文件 resources/ 并导出资源注册功能:

import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';

export function registerMyResource(server: McpServer) {
  server.resource('my://resource', 'My Resource', 'Resource description', async () => {
    return {
      contents: [{
        uri: 'my://resource',
        mimeType: 'application/json',
        text: JSON.stringify({ data: 'Resource data' })
      }]
    };
  });
}

认证

此服务器使用Osiris Hub进行身份验证。请确保您的Hub已正确配置,并且您的OAuth凭据无误。

部署

  1. 构建项目:

    pnpm run build
    
  2. 设置生产环境变量

  3. 启动服务器:

    NODE_ENV=production pnpm run start
    

支持


用心打造,使用 模型上下文协议 并且 奥西里斯软件开发工具包(SDK)