Token导航 LogoToken导航TokenDH.com
vibe-coding MCP-server logo
AI代理未说明官方级别未说明来源级核验

vibe-coding MCP-server

MCP Server

一个最小化的MCP服务器原型,用于验证架构、测试策略、授权概念和开发工具支持,主要功能是获取当前认证用户的配置文件。

工具数

1

提示词数

0

GitHub Stars

0

资源数

0
TypeScriptAI代理工作流自动化

安装说明

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

作者 / 组织

neuhausjulian

提供方

neuhausjulian

最后核验

2026/5/17 20:22

快速接入

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

详细介绍

vibe编码MCP服务器

一个最小的MCP(模型上下文协议)服务器原型,用于验证架构、测试策略、授权概念和开发工具支持。

概述

此原型公开了一个工具: getCurrentUserProfile,其基于内部授权上下文返回当前已认证用户的配置文件。

建筑

原型分为三层:

  1. 核心/域层 (src/core/):纯业务逻辑(用户数据、查找、身份验证助手、映射)
  2. MCP工具层 (src/tools/):MCP工具实现
  3. 传输/运行时层 (src/):STDIO传输和服务器入口点

先决条件

  • Node.js 18+(支持ES模块)
  • npm或纱线

安装

npm install

配置

服务器支持从以下位置加载环境变量 .env 文件。您可以复制 .env.example.env 并配置您的设置:

cp .env.example .env
# Edit .env with your configuration

npm startnpm run inspector 命令自动从以下位置加载变量 .env 使用 dotenv-cli.

发展

构建

npm run build

这将TypeScript编译为JavaScript dist/ 目录。

测试

运行所有测试(单元+集成):

npm test

在监视模式下运行测试:

npm run test:watch

运行服务器

服务器使用STDIO传输,支持两种授权模式。 如果身份验证配置无效,服务器将无法启动。

有效配置:

  • 开发模式: DEV_STATIC_AUTHORIZATION=trueDEV_STATIC_AUTHORIZATION_USER_ID 必须设置
  • 生产模式: DEV_STATIC_AUTHORIZATION 为假/未设置AND JWT_JWKS_URLJWT_EXPECTED_AUDIENCE 必须设置

开发模式(静态授权)

启用开发和测试的开发模式:

选项1:使用.env文件(推荐)

创建一个 .env 项目根目录中的文件:

DEV_STATIC_AUTHORIZATION=true
DEV_STATIC_AUTHORIZATION_USER_ID=user_1

然后运行:

npm start
# or
npm run inspector

选项2:直接使用环境变量

# Enable dev mode and set user ID
DEV_STATIC_AUTHORIZATION=true DEV_STATIC_AUTHORIZATION_USER_ID=user_1 npm start

或者在建造之后:

DEV_STATIC_AUTHORIZATION=true DEV_STATIC_AUTHORIZATION_USER_ID=user_1 node dist/index.js

生产模式(JWT授权)

DEV_STATIC_AUTHORIZATION 未设置或设置为 false,服务器使用基于JWT的授权。JWT令牌必须由调用者作为工具参数传递:

选项1:使用.env文件(推荐)

创建一个 .env 项目根目录中的文件:

DEV_STATIC_AUTHORIZATION=false
JWT_JWKS_URL=https://your-auth-provider.com/.well-known/jwks.json
JWT_EXPECTED_AUDIENCE=your-audience
JWT_USER_ID_FIELD=sub

然后运行:

npm start
# or
npm run inspector

选项2:直接使用环境变量

# Production mode - configure JWT settings
JWT_JWKS_URL=https://your-auth-provider.com/.well-known/jwks.json \
JWT_EXPECTED_AUDIENCE=your-audience \
npm start

在生产中调用工具:

{
  "name": "getCurrentUserProfile",
  "arguments": {
    "token": "your-jwt-token-here"
  }
}

环境变量:

开发模式:

  • DEV_STATIC_AUTHORIZATION:设置为 true1 启用开发模式
  • DEV_STATIC_AUTHORIZATION_USER_ID:在开发模式下使用的用户ID(例如。, user_1, user_2)

生产模式(JWT配置):

  • JWT_JWKS_URL:用于令牌签名验证的JWKS端点URL(必需)
  • JWT_EXPECTED_AUDIENCE:预期受众(aud)索赔值(必填)
  • JWT_USER_ID_FIELD:JWT负载中包含用户ID的字段名(默认值: sub)

注: JWT令牌本身由调用者作为 token 工具参数中的参数,而不是通过环境变量。

MCP检验员测试

  1. 构建服务器:
   npm run build
  1. 安装MCP检查器 (如果尚未安装):
   npm install -g @modelcontextprotocol/inspector
  1. 配置MCP检查器 要使用此服务器,请执行以下操作:

启动一个mcp检查器实例,该实例将运行其自己的mcp服务器实例。 STDIO将用于通信。

- 服务器命令: npx @modelcontextprotocol/inspector node dist/index.js - 在连接到mcp服务器之前,请为开发模式设置环境变量: - DEV_STATIC_AUTHORIZATION=true - DEV_STATIC_AUTHORIZATION_USER_ID=user_1 (或 user_2)

  1. 检查和测试:

- 连接到mcp服务器 - 列出可用工具(应显示 getCurrentUserProfile) - 呼叫 getCurrentUserProfile 输入为空 - 验证返回的配置文件是否与当前用户匹配

可用用户(虚假数据)

  • user_1:Alice示例(管理员)-alice@example.com
  • user_2:Bob示例(用户)-bob@example.com

测试场景

有效用户(开发模式)

DEV_STATIC_AUTHORIZATION=true DEV_STATIC_AUTHORIZATION_USER_ID=user_1 npm start
# Call getCurrentUserProfile → returns Alice's profile

找不到用户(开发模式)

DEV_STATIC_AUTHORIZATION=true DEV_STATIC_AUTHORIZATION_USER_ID=unknown npm start
# Call getCurrentUserProfile → returns "User not found" error

无身份验证用户(生产模式-无令牌)

# Don't set DEV_STATIC_AUTHORIZATION (or set to false)
# Don't set JWT_TOKEN
npm start
# Call getCurrentUserProfile → returns "No authenticated user" error

有效用户(生产模式-JWT)

# Set JWT configuration
JWT_JWKS_URL=https://auth.example.com/.well-known/jwks.json \
JWT_EXPECTED_AUDIENCE=my-app \
JWT_USER_ID_FIELD=sub \
npm start
# Call getCurrentUserProfile with token argument:
# { "name": "getCurrentUserProfile", "arguments": { "token": "valid-jwt-token" } }
# → returns user profile from JWT token

JWT令牌无效(生产模式)

# Set JWT configuration
JWT_JWKS_URL=https://auth.example.com/.well-known/jwks.json \
JWT_EXPECTED_AUDIENCE=my-app \
npm start
# Call getCurrentUserProfile with invalid token:
# { "name": "getCurrentUserProfile", "arguments": { "token": "invalid-token" } }
# → returns "No authenticated user" error

未提供令牌(生产模式)

# Set JWT configuration
JWT_JWKS_URL=https://auth.example.com/.well-known/jwks.json \
JWT_EXPECTED_AUDIENCE=my-app \
npm start
# Call getCurrentUserProfile without token argument:
# { "name": "getCurrentUserProfile", "arguments": {} }
# → returns "No authenticated user" error

无身份验证用户(开发模式,无用户ID)

DEV_STATIC_AUTHORIZATION=true npm start
# DEV_STATIC_AUTHORIZATION_USER_ID not set
# Call getCurrentUserProfile → returns "No authenticated user" error

项目结构

src/
├── core/              # Core/domain layer (pure logic)
│   ├── types.ts
│   ├── data.ts        # Fake user data
│   ├── user-lookup.ts
│   ├── user-lookup.test.ts  # Unit tests
│   ├── auth.ts
│   ├── auth.test.ts         # Unit tests
│   ├── profile-mapper.ts
│   └── profile-mapper.test.ts # Unit tests
├── tools/             # MCP tool layer
│   ├── getCurrentUserProfile.ts
│   └── getCurrentUserProfile.test.ts  # Unit tests
├── runtime/           # Runtime context
│   └── context.ts
└── index.ts           # Entry point (stdio transport)

tests/
└── integration/       # Integration tests
    └── getCurrentUserProfile.integration.test.ts

测试结构

  • 单元测试 (src/**/*.test.ts):单独测试单个功能

- 核心层: auth.test.ts, user-lookup.test.ts, profile-mapper.test.ts - 工具层: getCurrentUserProfile.test.ts (测试工具逻辑和决策流程)

  • 集成测试 (tests/integration/*.integration.test.ts):测试多个组件协同工作

- getCurrentUserProfile.integration.test.ts (测试认证+查找+映射集成)

成功标准

✅ 核心/域层中的每个功能都可以独立进行单元测试\ ✅ 这 getCurrentUserProfile 该工具具有可靠的集成测试,涵盖成功和错误路径\ ✅ 授权概念(currentUserId → 配置文件)明确表达并经过测试\ ✅ 运行中的服务器可以通过MCP检查器进行检查和练习\ ✅ 架构可以在以后扩展(Firebase、WebSocket、更多工具),而无需重新设计

目录标签

目录标签

TypeScriptAI代理工作流自动化MCP协议本地部署用户认证配置文件管理开发工具支持测试策略

接入字段

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

未说明

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

token

工具数量(toolCount,工具数)

1

资源数量(resourceCount,资源数)

0

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

0

权限和风险

未说明token部署方式未说明

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

安装前确认

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

仍需确认:installCommand

来源信息

继续浏览同类 MCP