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

Client MCP

MCP Server

client-mcp是一个连接ProcedureServer与MCP协议的传输层工具,支持动态注册工具和工具过滤,适用于Claude集成。

工具数

2

提示词数

0

GitHub Stars

0

资源数

0
TypeScriptClaudeAI代理Claude DesktopClaude

安装说明

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

作者 / 组织

mark1russell7

提供方

mark1russell7

最后核验

2026/5/17 20:19

快速接入

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

详细介绍

@mark1russell7/客户mcp

![License: MIT](https://opensource.org/licenses/MIT) ![TypeScript](https://www.typescriptlang.org/) ](https://nodejs.org/) ![MCP](https://modelcontextprotocol.io/)

程序系统的MCP服务器传输。将程序作为用于Claude集成的MCP工具公开。

目录

______________________________________________________________________

概述

客户端mcp 将程序系统与MCP(模型上下文协议)连接起来:

  • 传输层 -连接 ProcedureServer 通过stdio联系克劳德
  • 动态注册 -程序更改时自动刷新工具
  • 工具筛选 -控制哪些程序作为MCP工具公开
  • 调试模式 -记录MCP连接故障排除

______________________________________________________________________

安装

npm install @mark1russell7/client-mcp

______________________________________________________________________

建筑

系统概述

graph TB
    subgraph "Claude Layer"
        Claude[Claude Desktop / Code]
    end

    subgraph "MCP Protocol"
        ListTools[ListToolsRequest]
        CallTool[CallToolRequest]
    end

    subgraph "client-mcp"
        Transport[McpServerTransport]
        ToolMap[Tool Mapper]
    end

    subgraph "Procedure Layer"
        Server[ProcedureServer]
        Registry[PROCEDURE_REGISTRY]
    end

    subgraph "Procedures"
        FS[fs.read]
        Git[git.commit]
        Shell[shell.run]
        More[...]
    end

    Claude -->|stdio| ListTools
    Claude -->|stdio| CallTool
    ListTools --> Transport
    CallTool --> Transport
    Transport --> ToolMap
    ToolMap --> Registry
    Transport --> Server
    Server --> FS
    Server --> Git
    Server --> Shell
    Server --> More

请求流

sequenceDiagram
    participant Claude as Claude
    participant MCP as McpServerTransport
    participant Server as ProcedureServer
    participant Registry as PROCEDURE_REGISTRY
    participant Handler as Procedure Handler

    Note over Claude,Handler: Tool Discovery
    Claude->>MCP: ListToolsRequest
    MCP->>Registry: getAll()
    Registry-->>MCP: Procedure[]
    MCP->>MCP: Convert to MCP tools
    MCP-->>Claude: ListToolsResponse (tools[])

    Note over Claude,Handler: Tool Execution
    Claude->>MCP: CallToolRequest (fs.read)
    MCP->>Server: handle({ path: ["fs", "read"], input })
    Server->>Registry: get(["fs", "read"])
    Registry-->>Server: Procedure
    Server->>Handler: handler(input, ctx)
    Handler-->>Server: Result
    Server-->>MCP: Response
    MCP-->>Claude: CallToolResponse

交通建筑

graph LR
    subgraph "McpServerTransport"
        Init[Initialize]
        Connect[Connect stdio]
        Register[Register handlers]
    end

    subgraph "MCP Handlers"
        ListTools[tools/list]
        CallTool[tools/call]
    end

    subgraph "Procedure System"
        Server[ProcedureServer]
        Convert[proceduresToMcpTools]
    end

    Init --> Connect
    Connect --> Register
    Register --> ListTools
    Register --> CallTool
    ListTools --> Convert
    CallTool --> Server

______________________________________________________________________

快速开始

import { ProcedureServer, PROCEDURE_REGISTRY } from "@mark1russell7/client";
import { McpServerTransport } from "@mark1russell7/client-mcp";

// Load procedures (via side-effect imports)
import "@mark1russell7/bundle-dev/register.js";

// Create procedure server
const server = new ProcedureServer({
  autoRegister: true,
  registry: PROCEDURE_REGISTRY,
});

// Create MCP transport
const mcp = new McpServerTransport(server, {
  transport: "stdio",
  serverInfo: { name: "my-server", version: "1.0.0" },
});

// Add transport and start
server.addTransport(mcp);
await server.start();

______________________________________________________________________

API 参考

McpServerTransport

MCP集成的主要传输类。

interface McpServerTransportOptions {
  transport: "stdio" | "sse";      // Transport type
  serverInfo: {
    name: string;                   // Server name
    version: string;                // Server version
  };
  filter?: McpToolFilter;           // Tool filtering options
  debug?: boolean;                  // Enable debug logging
}

class McpServerTransport {
  constructor(server: ProcedureServer, options: McpServerTransportOptions);

  // Get current transport state
  getState(): {
    connected: boolean;
    toolCount: number;
    lastRefresh: Date;
  };

  // Close the transport
  close(): Promise;
}

内置程序

路径描述
mcp.serve以编程方式启动MCP服务器
mcp.list-tools列出可用的带过滤功能的MCP工具

______________________________________________________________________

工具筛选

控制哪些程序作为MCP工具公开:

interface McpToolFilter {
  includeTags?: string[];      // Only include these tags
  excludeTags?: string[];      // Exclude these tags
  excludeInternal?: boolean;   // Exclude internal procedures
  pathPrefix?: string[];       // Only include procedures with this prefix
}

const mcp = new McpServerTransport(server, {
  transport: "stdio",
  filter: {
    includeTags: ["public"],
    excludeInternal: true,
    pathPrefix: ["api"],
  },
});

过滤示例

graph TB
    subgraph "All Procedures"
        FS[fs.read]
        Git[git.commit]
        Internal[_internal.debug]
        API[api.users.list]
    end

    subgraph "Filter: excludeInternal"
        F1[fs.read]
        F2[git.commit]
        F3[api.users.list]
    end

    subgraph "Filter: pathPrefix api"
        F4[api.users.list]
    end

    FS --> F1
    Git --> F2
    API --> F3
    API --> F4

______________________________________________________________________

Claude桌面设置

配置文件位置

窗户: %APPDATA%\Claude\claude_desktop_config.json macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

基本配置

{
  "mcpServers": {
    "my-server": {
      "command": "npx",
      "args": ["@mark1russell7/impl-mcp-dev"]
    }
  }
}

使用自定义捆绑包

{
  "mcpServers": {
    "dev-tools": {
      "command": "node",
      "args": ["C:/Users/me/git/impl-mcp-dev/dist/server.js"],
      "env": {
        "MCP_BUNDLES": "@mark1russell7/bundle-mcp",
        "MCP_DEBUG": "true"
      }
    }
  }
}

______________________________________________________________________

整合

动态工具注册

当程序注册或注销时,传输会自动刷新MCP工具:

// Tools are automatically updated when procedures change
PROCEDURE_REGISTRY.register(newProcedure);  // → MCP tools refresh
PROCEDURE_REGISTRY.unregister(oldPath);     // → MCP tools refresh

调试模式

启用调试日志以进行故障排除:

const mcp = new McpServerTransport(server, {
  transport: "stdio",
  debug: true,  // Logs to stderr
});

其他套餐

graph TB
    subgraph "Implementation"
        ImplMCP[impl-mcp-dev
Ready-to-run server]
    end

    subgraph "Transport"
        ClientMCP[client-mcp
McpServerTransport]
    end

    subgraph "Core"
        MCP[mcp
Types & utilities]
        Client[client
ProcedureServer]
    end

    ImplMCP --> ClientMCP
    ClientMCP --> MCP
    ClientMCP --> Client

______________________________________________________________________

需求

  • Node.js >= 20
  • 依赖关系:

- @mark1russell7/client - @mark1russell7/mcp - @modelcontextprotocol/sdk

______________________________________________________________________

许可证

麻省理工学院

目录标签

目录标签

TypeScriptClaudeAI代理传输层本地部署动态注册工具过滤Claude集成MCP协议

支持客户端

Claude DesktopClaude

接入字段

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

未说明

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

none

工具数量(toolCount,工具数)

2

资源数量(resourceCount,资源数)

0

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

0

权限和风险

未说明none部署方式未说明

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

安装前确认

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

仍需确认:installCommand

来源信息

继续浏览同类 MCP