Token导航 LogoToken导航TokenDH.com
Tcl Udf Server logo
安全风控stdio官方级别未说明来源级核验

Tcl Udf Server

MCP Server

一个支持AI代理执行TCL脚本并管理MCP工具生态系统的服务器,内置安全控制和多运行时选项。

工具数

0

提示词数

0

GitHub Stars

16

资源数

0
RustClaude安全Claude

安装说明

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

作者 / 组织

cyberdione

提供方

cyberdione

最后核验

2026/5/17 20:21

运行时

Python

快速接入

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

命令预览

python3 tests/test_bin_exec_tool_mcp.py

详细介绍

TCL MCP服务器

模型上下文协议(MCP)服务器,使AI代理能够执行TCL脚本并管理MCP工具生态系统。考虑到安全性和开发人员经验而构建。

![crates.io](https://crates.io/crates/tcl-mcp-server) ![Documentation](https://docs.rs/tcl-mcp-server)

快速开始

# Install and run (safe mode with Molt runtime)
cargo install tcl-mcp-server
tcl-mcp-server

# Or build from source
git clone https://github.com/cyberdione/mcp-tcl-udf-server
cd mcp-tcl-udf-server
cargo build --release
./target/release/tcl-mcp-server

# OPTIONAL: Build with full unsafe TCL runtime (requires system TCL installation)
# cargo build --release --features tcl

它做什么

  • 执行TCL脚本:通过具有智能安全控制的MCP运行TCL代码
  • 管理MCP生态系统:添加、删除和编排其他MCP服务器
  • 默认安全:使用具有沙盒执行的Molt(内存安全TCL)
  • 工具管理:创建、版本和组织自定义工具
  • 交叉平台的:适用于Linux、macOS和Windows

运行时选项

在两种TCL运行时实现之间进行选择:

🔒 Molt运行时(默认-安全)

  • 内存安全:用Rust编写,内置安全保证
  • 沙盒:无文件I/O、无系统命令、无网络访问
  • 子集:TCL数据处理和算法的核心功能
  • 推荐:用于生产环境和不受信任的环境
  • 文档: TCL图书

⚠️ TCL运行时(完整-不安全)

  • 全部功能:具有所有功能的完整TCL语言
  • 系统访问:文件I/O、系统命令、网络操作
  • 强大的:高级脚本功能和系统集成
  • 冒险的:需要可信的环境和仔细的输入验证
  • 文档: TCL官方文件

核心功能

🔒 安全第一

  • 受限模式 (默认):使用有限命令安全执行TCL
  • 特权模式:TCL完全访问高级用例
  • 运行时选择:在安全(Molt)和完整(TCL)实施之间进行选择

🛠️ MCP管理

# Add external MCP servers
tcl-mcp-server mcp add claude-flow "Claude Flow" -- npx claude-flow@alpha mcp start

# List all servers
tcl-mcp-server mcp list

# Test connectivity
tcl-mcp-server mcp ping claude-flow

📦 工具组织

工具使用具有MCP兼容命名的命名空间系统进行组织:

  • bin__tcl_execute -执行TCL脚本
  • user__alice__utils__reverse_string -用户创建的工具
  • mcp__context7__get_library_docs -外部MCP服务器工具

用法

运行服务器

默认值(只读模式)

tcl-mcp-server

特权模式(保存/存储脚本)

tcl-mcp-server --privileged
# or use the admin wrapper
tcl-mcp-server-admin

基本命令

# Execute TCL directly
tcl-mcp-server run tcl_execute '{"script": "expr {2 + 2}"}'

# List available tools
tcl-mcp-server list

# Get tool information
tcl-mcp-server info tcl_execute

# Manage MCP servers
tcl-mcp-server mcp add my-server "My Server" -- node server.js
tcl-mcp-server mcp remove my-server

MCP客户端集成

克劳德桌面

{
  "mcpServers": {
    "tcl": {
      "command": "/path/to/tcl-mcp-server",
      "args": ["--runtime", "molt", "--privileged"]
    }
  }
}

克劳德代码

claude mcp add tcl /path/to/tcl-mcp-server

内置工具

核心工具(始终可用)

bin__tcl_execute -执行TCL脚本

{
  "script": "set x 5; set y 10; expr {$x + $y}"
}

bin__list_tools -列出可用工具

{
  "namespace": "user",
  "filter": "utils*"
}

docs__molt_book -访问TCL文档

{
  "topic": "basic_syntax"
}

管理工具(仅限特权模式)

sbin__tcl_tool_add -创建自定义工具

{
  "user": "alice",
  "package": "utils",
  "name": "reverse_string",
  "version": "1.0",
  "description": "Reverse a string",
  "script": "return [string reverse $text]",
  "parameters": [
    {
      "name": "text",
      "description": "Text to reverse",
      "required": true,
      "type_name": "string"
    }
  ]
}

sbin__mcp_add -以编程方式添加MCP服务器

{
  "id": "context7",
  "name": "Context7 Server",
  "command": "npx",
  "args": ["@modelcontextprotocol/server-everything"],
  "auto_start": true
}

编译和运行时配置

编译选项

服务器支持两个必须在编译时选择的TCL运行时实现:

默认构建(Molt运行时-安全)

# Build with Molt runtime only (recommended)
cargo build --release

# The resulting binary uses Molt by default
./target/release/tcl-mcp-server

使用TCL Runtime构建(完整但不安全)

# Build with full TCL runtime (requires system TCL installation)
cargo build --release --no-default-features --features tcl

# The resulting binary uses full TCL
./target/release/tcl-mcp-server

使用两个运行库构建

# Build with both runtimes available (maximum flexibility)
cargo build --release --features molt,tcl

# Select runtime at startup
./target/release/tcl-mcp-server --runtime molt   # Safe mode
./target/release/tcl-mcp-server --runtime tcl    # Complete mode

运行时选择(多运行时构建)

当使用多个运行时构建时,您可以在启动时选择:

# Command line selection
tcl-mcp-server --runtime molt          # Safe: Molt runtime
tcl-mcp-server --runtime tcl           # Unsafe: Full TCL runtime

# Environment variable
export TCL_MCP_RUNTIME=molt
tcl-mcp-server

# Priority: CLI args > Environment > Default (Molt)

系统要求

对于Molt Runtime(默认):

  • 仅限Rust工具链
  • 无外部依赖关系
  • 适用于所有平台

对于TCL运行时:

  • 需要安装TCL系统(8.6+)
  • 编译所需的开发标头
  • 平台特定设置:
  # Ubuntu/Debian
  sudo apt-get install tcl-dev

  # macOS
  brew install tcl-tk

  # Windows
  # Install TCL from https://www.tcl-lang.org/software/tcltk/

预构建的包装脚本

构建过程会自动生成便利包装:

# Generated during build
./target/release/tcl-mcp-server-admin      # Privileged mode
./target/release/tcl-mcp-server-molt       # Force Molt runtime
./target/release/tcl-mcp-server-admin-molt # Privileged + Molt
./target/release/tcl-mcp-server-ctcl       # Force TCL runtime
./target/release/tcl-mcp-server-admin-ctcl # Privileged + TCL

MCP服务器管理

添加服务器

# Basic server
tcl-mcp-server mcp add my-server "My Server" -- node server.js

# With environment variables
tcl-mcp-server mcp add my-server "My Server" \
  --env "NODE_ENV=production" \
  --env "API_KEY=secret" \
  -- node server.js

# Custom timeout and retry settings
tcl-mcp-server mcp add my-server "My Server" \
  --timeout-ms 60000 \
  --max-retries 5 \
  -- node server.js

服务器信息

# List all servers
tcl-mcp-server mcp list

# Detailed view
tcl-mcp-server mcp list --detailed

# Server details
tcl-mcp-server mcp info my-server

连接管理

# Manual connection
tcl-mcp-server mcp connect my-server

# Test connectivity
tcl-mcp-server mcp ping my-server

# Disconnect
tcl-mcp-server mcp disconnect my-server

# Remove server
tcl-mcp-server mcp remove my-server

安全模型

默认安全(推荐)

  • 受限模式:仅提供基本工具
  • Molt运行时:内存安全、沙盒执行(请参见 模具文档)
  • 无文件I/O:防止未经授权的文件访问
  • 无系统命令:阻止系统级操作

特权模式

⚠️ 谨慎使用

  • 完全TCL语言访问
  • 工具管理能力
  • 系统级操作是可能的(特别是在TCL运行时)
  • 建议仅用于受信任的环境
  • 使用TCL Runtime:完整的系统访问权限(参见 TCL文档)

建筑

┌─────────────┐     ┌──────────────┐     ┌─────────────┐
│  AI Agent   ├────►│  MCP Server  ├────►│TCL Executor │
│  (Claude)   │     │  (JSON-RPC)  │     │  (Molt)     │
└─────────────┘     └──────────────┘     └─────────────┘
                          │
                          ▼
                    ┌─────────────┐
                    │ MCP Manager │
                    │ (External   │
                    │  Servers)   │
                    └─────────────┘

高级用法

创建自定义工具

  1. 添加工具 (需要特权模式):
tcl-mcp-server run sbin__tcl_tool_add '{
  "user": "dev",
  "package": "math",
  "name": "fibonacci",
  "version": "1.0",
  "description": "Calculate Fibonacci number",
  "script": "proc fib {n} { if {$n <= 1} {return $n} else {return [expr {[fib [expr {$n-1}]] + [fib [expr {$n-2}]]}]} }; return [fib $n]",
  "parameters": [
    {
      "name": "n",
      "description": "Number to calculate Fibonacci for",
      "required": true,
      "type_name": "integer"
    }
  ]
}'
  1. 使用工具:
tcl-mcp-server run user__dev__math__fibonacci '{"n": 10}'

运行时能力检测

智能代码生成的查询运行时功能:

tcl-mcp-server run tcl_runtime_info '{
  "include_examples": true,
  "category_filter": "safe"
}'

运行时功能比较:

功能Molt运行时TCL运行时
内存安全✅ 基于Rust,内存安全⚠️ 基于C的手动内存管理
文件I/O❌ 出于安全考虑被阻止✅ 完整文件操作
系统命令❌ 不 exec 或系统调用✅ 完整的系统集成
网络❌ 无套接字操作✅ 完整的网络功能
演出⚡ 快速启动,低开销🐌 启动速度较慢,内存使用率较高
兼容性📚 TCL核心子集🔧 完整的TCL语言+扩展
用例数据处理、算法、安全脚本系统管理、复杂应用程序

容器部署

FROM rust:1.70 as builder
WORKDIR /app
COPY . .
RUN cargo build --release

FROM debian:bookworm-slim
COPY --from=builder /app/target/release/tcl-mcp-server /usr/bin/
COPY --from=builder /app/target/release/tcl-mcp-server-admin /usr/bin/
CMD ["/usr/bin/tcl-mcp-server"]

测试

# Run the test suite
./scripts/run_mcp_tests.sh

# Test specific functionality
python3 tests/test_bin_exec_tool_mcp.py

数据存储

服务器配置存储在适合平台的位置:

  • Linux: ~/.local/share/tcl-mcp-server/
  • macOS: ~/Library/Application Support/tcl-mcp-server/
  • 视窗: %APPDATA%\tcl-mcp-server\

故障排除

常见问题

服务器无法启动

# Check runtime availability
tcl-mcp-server --runtime molt --privileged

# Enable debug logging
RUST_LOG=debug tcl-mcp-server

MCP服务器连接失败

# Test connectivity
tcl-mcp-server mcp ping server-id

# Check server logs
TCL_MCP_DEBUG_STDERR=1 tcl-mcp-server

未找到工具

# List available tools
tcl-mcp-server list

# Check specific namespace
tcl-mcp-server list --namespace user

贡献

  1. 分叉存储库
  2. 创建要素分支
  3. 添加新功能的测试
  4. 确保所有测试通过
  5. 提交拉取请求

许可证

MIT许可证-有关详细信息,请参阅许可证文件

目录标签

目录标签

RustClaude安全TCL执行本地部署脚本管理AI工具集成安全沙箱多运行时支持

支持客户端

Claude

接入字段

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

stdio

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

none

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

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

0

权限和风险

stdionone部署方式未说明

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

安装前确认

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

来源信息

继续浏览同类 MCP