Token导航 LogoToken导航TokenDH.com
Typescript MCP Auth Quickstart logo
安全风控未说明官方级别未说明来源级核验

Typescript MCP Auth Quickstart

MCP Server

一个基于TypeScript的模型上下文协议(MCP)服务器,通过Asgardeo实现OAuth2认证,提供安全的用户身份验证和用户信息查询功能。

工具数

1

提示词数

0

GitHub Stars

0

资源数

0
安全协议TypeScriptClaude服务器开发Claude DesktopClaude

安装说明

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

作者 / 组织

ngsanthosh

提供方

ngsanthosh

最后核验

2026/5/17 20:19

快速接入

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

详细介绍

安全MCP TypeScript服务器

一个基于TypeScript的模型上下文协议(MCP)服务器,采用Asgardeo提供的OAuth2认证。

概述

这个项目展示了如何创建一个安全的MCP服务器,该服务器能够:

  • 使用TypeScript确保类型安全
  • 使用Asgardeo实现OAuth2认证
  • 暴露需要认证的MCP工具
  • 返回经过身份验证的用户资料信息

先决条件

快速入门

1. 克隆仓库

git clone https://github.com/ngsanthosh/typescript-mcp-auth-quickstart.git
cd typescript-mcp-auth-quickstart

2. 安装依赖项

npm install

3. 配置Asgardeo

  1. 登录您的 Asgardeo 控制台
  2. 导航至 应用程序 > 新建应用程序
  3. 选择 单页应用程序 并完成向导设置

- 名字SecureMCPServer 翻译为中文是:“安全MCP服务器” - 授权重定向URLhttp://localhost:3000/oauth/callback 翻译为中文是:“本地主机的3000端口上的OAuth回调地址”

  1. 从应用程序中保存以下值:

- client-id (来自“协议”选项卡) - 基本URL(例如。, https://api.asgardeo.io/t/your-org)

4. 设置环境变量

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

cp .env.example .env

更新 .env 使用您的Asgardeo配置:

ASGARDEO_BASE_URL=https://api.asgardeo.io/t/your-org
PORT=3000

5. 构建并运行

开发模式:

npm run dev

生产模式:

npm run build
npm start

服务器将在 http://localhost:3000/mcp

6. 配置Claude桌面版

  1. 打开Claude桌面版
  2. 首选 设置 > 开发者选项
  3. 点击 编辑配置 打开 claude_desktop_config.json
  4. 添加以下配置:
{
    "mcpServers": {
        "secure-whoami-server": {
            "command": "npx",
            "args": [
                "mcp-remote@latest",
                "http://localhost:3000/mcp",
                "--static-oauth-client-info",
                "{\"client_id\": \"\"}",
                "--static-oauth-client-metadata",
                "{\"scope\": \"openid profile email\"}"
            ]
        }
    }
}

替换 `` 使用您Asgardeo应用程序中的客户端ID。

7. 测试服务器

  1. 重启Claude桌面版
  2. 您将被重定向到Asgardeo进行登录
  3. 认证通过后,请问Claude: “我是谁?”
  4. 服务器将返回您经过身份验证的用户资料信息

项目结构

.
├── src/
│   └── index.ts              # Main MCP server implementation
├── package.json              # Dependencies and scripts
├── tsconfig.json             # TypeScript configuration
├── .env.example              # Example environment variables
├── .gitignore                # Git ignore rules
├── README.md                 # This file
└── LICENSE                   # License

主要特点

  • OAuth2 认证通过Asgardeo进行安全认证
  • 类型安全全面支持 TypeScript
  • MCP 工具暴露 whoami 返回用户资料的工具
  • Express 服务器基于Express.js构建的HTTP传输层
  • 认证中间件保护MCP端点,使用 mcpAuthServer.protect()

可用工具

我是谁

返回已认证用户的个人资料信息。

输入:

输出:

{
  "profile": {
    "sub": "user-id",
    "email": "user@example.com",
    "given_name": "John",
    "family_name": "Doe",
    ...
  }
}

环境变量

变量描述示例
ASGARDEO_BASE_URL您的Asgardeo组织基础URLhttps://api.asgardeo.io/t/my-org
PORT服务器端口(默认:3000)3000

故障排除

“未认证”错误

  • 确保您已在Asgardeo中创建了一个测试用户指南;引导者)
  • 在Claude Desktop配置中验证您的客户端ID是否正确
  • 清除浏览器缓存并尝试重新登录

服务器无法启动

  • 检查端口3000是否未被使用: lsof -i :3000
  • 验证所有环境变量是否已设置 .env
  • 确保 Node.js 版本为 16 或更高版本

模块未找到错误

  • npm install 再次
  • 删除 node_modulespackage-lock.json,然后重新安装

了解更多

许可证

麻省理工学院(MIT)

支持

对于问题和疑问:

目录标签

目录标签

安全协议TypeScriptClaude服务器开发OAuth2认证本地部署用户身份验证

支持客户端

Claude DesktopClaude

接入字段

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

未说明

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

oauth

工具数量(toolCount,工具数)

1

资源数量(resourceCount,资源数)

0

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

0

权限和风险

未说明oauth部署方式未说明

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

安装前确认

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

仍需确认:installCommand

来源信息

继续浏览同类 MCP