
点击查看大图

点击查看大图
全面介绍
✨ Gantz Run: 让 AI 代理秒连本地工具 ✨
Gantz Run 致力于为您的本地 MCP 服务器即时搭建安全通道,让 AI 代理轻松访问您本地的服务。告别复杂的配置,一键即可将您的本地服务暴露给 AI 代理!
💡 无需 ngrok、无需端口映射、无需任何部署,即刻畅享本地 AI 协作!
🚀 为什么选择 Gantz Run?
- MCP 原生支持:专为 MCP 服务器设计,而非通用隧道,提供更稳定、高效的连接。
- 零配置,无需账号:开箱即用,省去繁琐的注册和配置步骤。
- 内置认证令牌:保障您的连接安全可靠。
- 数据隐私保障:我们不存储您的任何数据,完全免费。
🎯 理想的运用场景:
- 在本地数据库上测试 AI 代理。
- 快速原型化您的 MCP 工具。
- 轻松让 Claude 等 AI 访问您的本地脚本。
🛠️ 如何快速开始 (不到一分钟!)
1. 安装 Gantz Run
根据您的系统选择安装方式:
- 推荐安装脚本 (macOS/Linux):
curl -fsSL https://gantz.run/install.sh | sh - Homebrew (macOS):
brew install gantz-run - Go 开发者:
go install gantz.run/gantz@latest
2. 创建 gantz.yaml 配置文件
定义您的本地工具,支持多种类型:
- 脚本工具 (Script Tools):
运行带有参数占位符
{{param}}的 shell 命令。name: my-tools version: "1.0.0" tools: - name: hello description: Say hello to someone parameters: - name: name type: string required: true script: shell: echo "Hello, {{name}}!" - HTTP 工具 (HTTP Tools):
调用 REST API,支持自定义请求头和 JSON 提取。
name: api-tools version: "1.0.0" tools: - name: list_products description: Get all products parameters: [] http: method: GET url: "https://mockserver.gantz.ai/products" extract_json: "data"
3. 启动服务器
轻松一句命令即可启动您的 MCP 服务器:
$ gantz run
Gantz Run v0.1.0
Loaded 2 tools from gantz.yaml
Connecting to relay server...
MCP Server URL: https://happy-panda.gantz.run
Press Ctrl+C to stop
🌟 Gantz Run 功能一览:
- 即时隧道 (Instant Tunneling):无需端口转发,即可获得公共 URL。
- 环境变量 (Environment Vars):使用
${VAR}安全注入敏感信息。 - JSON 提取 (JSON Extraction):通过点表示法轻松提取嵌套数据。
- 跨平台支持 (Cross-Platform):预构建的二进制文件,支持所有主流平台。
🔗 将您的 MCP 服务器连接到 AI 模型:
Gantz Run 提供与主流 AI 模型的集成示例,方便您快速连接:
Anthropic Claude
# mcp_client_anthropic.py
pip install anthropic
#!/usr/bin/env python3
"""Gantz MCP Client for Anthropic Claude"""
import anthropic
ANTHROPIC_API_KEY = "your-anthropic-api-key"
MCP_URL = "https://YOUR-TUNNEL.gantz.run/sse"
def main():
client = anthropic.Anthropic(api_key=ANTHROPIC_API_KEY)
response = client.beta.messages.create(
model="claude-sonnet-4-5-20250929",
max_tokens=2000,
messages=[{"role": "user", "content": "list all files"}],
mcp_servers=[{
"type": "url",
"url": MCP_URL,
"name": "gantz",
}],
betas=["mcp-client-2025-04-04"]
)
for content in response.content:
if hasattr(content, 'text'):
print(content.text)
if __name__ == "__main__":
main()
Google Gemini
# mcp_client_gemini.py
pip install google-genai httpx
#!/usr/bin/env python3
"""Gantz MCP Client for Google Gemini"""
import httpx
from google import genai
from google.genai import types
GEMINI_API_KEY = "your-gemini-api-key"
MCP_URL = "https://YOUR-TUNNEL.gantz.run"
class MCPClient:
def __init__(self, url):
self.url = url
self.tools = []
def list_tools(self):
resp = httpx.post(self.url, json={
"jsonrpc": "2.0",
"id": 1,
"method": "tools/list"
})
self.tools = resp.json().get("result", {}).get("tools", [])
return self.tools
def call_tool(self, name, arguments):
resp = httpx.post(self.url, json={
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {"name": name, "arguments": arguments}
})
content = resp.json().get("result", {}).get("content", [])
return content[0].get("text", "") if content else ""
def get_gemini_tools(self):
return [types.FunctionDeclaration(
name=t["name"],
description=t.get("description", ""),
parameters=t.get("inputSchema", {"type": "object"})
) for t in self.tools]
def main():
mcp = MCPClient(MCP_URL)
mcp.list_tools()
client = genai.Client(api_key=GEMINI_API_KEY)
tool_config = types.Tool(function_declarations=mcp.get_gemini_tools())
response = client.models.generate_content(
model="gemini-2.0-flash",
contents="list all files",
config=types.GenerateContentConfig(tools=[tool_config])
)
for part in response.candidates[0].content.parts:
if part.function_call:
result = mcp.call_tool(part.function_call.name, dict(part.function_call.args))
print(result)
if __name__ == "__main__":
main()
OpenAI Agents SDK
# mcp_client_openai.py
pip install openai-agents
#!/usr/bin/env python3
"""Gantz MCP Client for OpenAI Agents SDK"""
import asyncio
from openai import AsyncOpenAI
from agents import Agent, Runner, set_default_openai_client
from agents.mcp import MCPServerStreamableHttp
OPENAI_API_KEY = "your-openai-api-key"
MCP_URL = "https://YOUR-TUNNEL.gantz.run/sse"
async def main():
set_default_openai_client(AsyncOpenAI(api_key=OPENAI_API_KEY))
async with MCPServerStreamableHttp(
name="Gantz MCP Server",
params={"url": MCP_URL, "timeout": 30},
) as server:
agent = Agent(
name="Assistant",
instructions="You are a helpful assistant.",
mcp_servers=[server],
)
result = await Runner.run(agent, "list all files")
print(result.final_output)
if __name__ == "__main__":
asyncio.run(main())
🔒 我们不存储您的请求或响应数据。隧道 URL 均为临时性质。
产品评分
暂无评分
登录后即可评分
















