# 安装 io.github.HarimxChoi/google-surf-mcp

- 类型: MCP 工具
- 说明: Web, academic and code search with graph RAG, data lineage, ontology and cross-project schema links.
- 仓库: https://github.com/HarimxChoi/google-surf-mcp

## 方式一 · 一键代装（复制提示词让 AI 代劳）

### Claude Code
```
请帮我安装 askskill 上的 "io.github.HarimxChoi/google-surf-mcp" MCP 服务：
执行：claude mcp add 'io-github-harimxchoi-google-surf-mcp' -- npx -y google-surf-mcp
```

### Codex
```
请帮我安装 askskill 上的 "io.github.HarimxChoi/google-surf-mcp" MCP 服务：
在 ~/.codex/config.toml 中添加：
[mcp_servers.io-github-harimxchoi-google-surf-mcp]
command = "npx"
args = ["-y","google-surf-mcp"]
然后重启 Codex 生效
```

### Cursor
```
请帮我安装 askskill 上的 "io.github.HarimxChoi/google-surf-mcp" MCP 服务：
在 .cursor/mcp.json 的 "mcpServers" 中添加：
"io-github-harimxchoi-google-surf-mcp": { "command": "npx", "args": ["-y","google-surf-mcp"] }
然后在 Cursor 设置 > MCP 中启用
```

## 方式二 · 命令行安装（原生命令与配置）

### Claude Code
```bash
claude mcp add --env SEARCH_API=YOUR_VALUE --env SURF_SEARCH_PROVIDER=YOUR_VALUE --env SURF_SCHOLAR_PROVIDER=YOUR_VALUE --env SURF_BROWSER_ENGINE=YOUR_VALUE --env CHROME_PATH=YOUR_VALUE --env SURF_PROFILE_ROOT=YOUR_VALUE --env SURF_RESEARCH=YOUR_VALUE --env SURF_RETRIEVAL_MODE=YOUR_VALUE --env SURF_RESEARCH_ROOT=YOUR_VALUE --env SURF_RESEARCH_VECTOR_MODEL=YOUR_VALUE --env SURF_RESEARCH_VECTOR_LOW_MEMORY=YOUR_VALUE --env SURF_RESEARCH_VECTOR_THREADS=YOUR_VALUE --env SURF_RESEARCH_REPO_AUTO=YOUR_VALUE --env SURF_RESEARCH_REPO_AUTO_MAX_MB=YOUR_VALUE --env SURF_RESEARCH_REPO_AUTO_MAX_FILES=YOUR_VALUE --env SURF_RESEARCH_BROKER_IDLE_MS=YOUR_VALUE --env SURF_RESEARCH_READ_CONCURRENCY=YOUR_VALUE --env SURF_RESEARCH_QUERY_TIMEOUT_MS=YOUR_VALUE --env GITHUB_TOKEN=YOUR_VALUE --env SURF_LOCALE=YOUR_VALUE --env SURF_TZ=YOUR_VALUE --env SURF_HEADLESS=YOUR_VALUE --env SURF_IDLE_CLOSE_MS=YOUR_VALUE --env SURF_ALLOW_PRIVATE=YOUR_VALUE --env SURF_LLM_HEAL=YOUR_VALUE --env SURF_LLM_PROVIDER=YOUR_VALUE --env SURF_LLM_MODEL=YOUR_VALUE --env ANTHROPIC_API_KEY=YOUR_VALUE --env ORCAROUTER_API_KEY=YOUR_VALUE --transport stdio io-github-harimxchoi-google-surf-mcp -- npx -y google-surf-mcp
```
需要环境变量：SEARCH_API, SURF_SEARCH_PROVIDER, SURF_SCHOLAR_PROVIDER, SURF_BROWSER_ENGINE, CHROME_PATH, SURF_PROFILE_ROOT, SURF_RESEARCH, SURF_RETRIEVAL_MODE, SURF_RESEARCH_ROOT, SURF_RESEARCH_VECTOR_MODEL, SURF_RESEARCH_VECTOR_LOW_MEMORY, SURF_RESEARCH_VECTOR_THREADS, SURF_RESEARCH_REPO_AUTO, SURF_RESEARCH_REPO_AUTO_MAX_MB, SURF_RESEARCH_REPO_AUTO_MAX_FILES, SURF_RESEARCH_BROKER_IDLE_MS, SURF_RESEARCH_READ_CONCURRENCY, SURF_RESEARCH_QUERY_TIMEOUT_MS, GITHUB_TOKEN, SURF_LOCALE, SURF_TZ, SURF_HEADLESS, SURF_IDLE_CLOSE_MS, SURF_ALLOW_PRIVATE, SURF_LLM_HEAL, SURF_LLM_PROVIDER, SURF_LLM_MODEL, ANTHROPIC_API_KEY, ORCAROUTER_API_KEY

### Codex
```bash
codex mcp add --env SEARCH_API=YOUR_VALUE --env SURF_SEARCH_PROVIDER=YOUR_VALUE --env SURF_SCHOLAR_PROVIDER=YOUR_VALUE --env SURF_BROWSER_ENGINE=YOUR_VALUE --env CHROME_PATH=YOUR_VALUE --env SURF_PROFILE_ROOT=YOUR_VALUE --env SURF_RESEARCH=YOUR_VALUE --env SURF_RETRIEVAL_MODE=YOUR_VALUE --env SURF_RESEARCH_ROOT=YOUR_VALUE --env SURF_RESEARCH_VECTOR_MODEL=YOUR_VALUE --env SURF_RESEARCH_VECTOR_LOW_MEMORY=YOUR_VALUE --env SURF_RESEARCH_VECTOR_THREADS=YOUR_VALUE --env SURF_RESEARCH_REPO_AUTO=YOUR_VALUE --env SURF_RESEARCH_REPO_AUTO_MAX_MB=YOUR_VALUE --env SURF_RESEARCH_REPO_AUTO_MAX_FILES=YOUR_VALUE --env SURF_RESEARCH_BROKER_IDLE_MS=YOUR_VALUE --env SURF_RESEARCH_READ_CONCURRENCY=YOUR_VALUE --env SURF_RESEARCH_QUERY_TIMEOUT_MS=YOUR_VALUE --env GITHUB_TOKEN=YOUR_VALUE --env SURF_LOCALE=YOUR_VALUE --env SURF_TZ=YOUR_VALUE --env SURF_HEADLESS=YOUR_VALUE --env SURF_IDLE_CLOSE_MS=YOUR_VALUE --env SURF_ALLOW_PRIVATE=YOUR_VALUE --env SURF_LLM_HEAL=YOUR_VALUE --env SURF_LLM_PROVIDER=YOUR_VALUE --env SURF_LLM_MODEL=YOUR_VALUE --env ANTHROPIC_API_KEY=YOUR_VALUE --env ORCAROUTER_API_KEY=YOUR_VALUE io-github-harimxchoi-google-surf-mcp -- npx -y google-surf-mcp
```
配置文件 ~/.codex/config.toml：
```toml
[mcp_servers.io-github-harimxchoi-google-surf-mcp]
command = "npx"
args = ["-y","google-surf-mcp"]

[mcp_servers.io-github-harimxchoi-google-surf-mcp.env]
SEARCH_API = "YOUR_VALUE"
SURF_SEARCH_PROVIDER = "YOUR_VALUE"
SURF_SCHOLAR_PROVIDER = "YOUR_VALUE"
SURF_BROWSER_ENGINE = "YOUR_VALUE"
CHROME_PATH = "YOUR_VALUE"
SURF_PROFILE_ROOT = "YOUR_VALUE"
SURF_RESEARCH = "YOUR_VALUE"
SURF_RETRIEVAL_MODE = "YOUR_VALUE"
SURF_RESEARCH_ROOT = "YOUR_VALUE"
SURF_RESEARCH_VECTOR_MODEL = "YOUR_VALUE"
SURF_RESEARCH_VECTOR_LOW_MEMORY = "YOUR_VALUE"
SURF_RESEARCH_VECTOR_THREADS = "YOUR_VALUE"
SURF_RESEARCH_REPO_AUTO = "YOUR_VALUE"
SURF_RESEARCH_REPO_AUTO_MAX_MB = "YOUR_VALUE"
SURF_RESEARCH_REPO_AUTO_MAX_FILES = "YOUR_VALUE"
SURF_RESEARCH_BROKER_IDLE_MS = "YOUR_VALUE"
SURF_RESEARCH_READ_CONCURRENCY = "YOUR_VALUE"
SURF_RESEARCH_QUERY_TIMEOUT_MS = "YOUR_VALUE"
GITHUB_TOKEN = "YOUR_VALUE"
SURF_LOCALE = "YOUR_VALUE"
SURF_TZ = "YOUR_VALUE"
SURF_HEADLESS = "YOUR_VALUE"
SURF_IDLE_CLOSE_MS = "YOUR_VALUE"
SURF_ALLOW_PRIVATE = "YOUR_VALUE"
SURF_LLM_HEAL = "YOUR_VALUE"
SURF_LLM_PROVIDER = "YOUR_VALUE"
SURF_LLM_MODEL = "YOUR_VALUE"
ANTHROPIC_API_KEY = "YOUR_VALUE"
ORCAROUTER_API_KEY = "YOUR_VALUE"
```
需要环境变量：SEARCH_API, SURF_SEARCH_PROVIDER, SURF_SCHOLAR_PROVIDER, SURF_BROWSER_ENGINE, CHROME_PATH, SURF_PROFILE_ROOT, SURF_RESEARCH, SURF_RETRIEVAL_MODE, SURF_RESEARCH_ROOT, SURF_RESEARCH_VECTOR_MODEL, SURF_RESEARCH_VECTOR_LOW_MEMORY, SURF_RESEARCH_VECTOR_THREADS, SURF_RESEARCH_REPO_AUTO, SURF_RESEARCH_REPO_AUTO_MAX_MB, SURF_RESEARCH_REPO_AUTO_MAX_FILES, SURF_RESEARCH_BROKER_IDLE_MS, SURF_RESEARCH_READ_CONCURRENCY, SURF_RESEARCH_QUERY_TIMEOUT_MS, GITHUB_TOKEN, SURF_LOCALE, SURF_TZ, SURF_HEADLESS, SURF_IDLE_CLOSE_MS, SURF_ALLOW_PRIVATE, SURF_LLM_HEAL, SURF_LLM_PROVIDER, SURF_LLM_MODEL, ANTHROPIC_API_KEY, ORCAROUTER_API_KEY

### Cursor
配置文件 .cursor/mcp.json：
```json
{
  "mcpServers": {
    "io-github-harimxchoi-google-surf-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "google-surf-mcp"
      ],
      "env": {
        "SEARCH_API": "YOUR_VALUE",
        "SURF_SEARCH_PROVIDER": "YOUR_VALUE",
        "SURF_SCHOLAR_PROVIDER": "YOUR_VALUE",
        "SURF_BROWSER_ENGINE": "YOUR_VALUE",
        "CHROME_PATH": "YOUR_VALUE",
        "SURF_PROFILE_ROOT": "YOUR_VALUE",
        "SURF_RESEARCH": "YOUR_VALUE",
        "SURF_RETRIEVAL_MODE": "YOUR_VALUE",
        "SURF_RESEARCH_ROOT": "YOUR_VALUE",
        "SURF_RESEARCH_VECTOR_MODEL": "YOUR_VALUE",
        "SURF_RESEARCH_VECTOR_LOW_MEMORY": "YOUR_VALUE",
        "SURF_RESEARCH_VECTOR_THREADS": "YOUR_VALUE",
        "SURF_RESEARCH_REPO_AUTO": "YOUR_VALUE",
        "SURF_RESEARCH_REPO_AUTO_MAX_MB": "YOUR_VALUE",
        "SURF_RESEARCH_REPO_AUTO_MAX_FILES": "YOUR_VALUE",
        "SURF_RESEARCH_BROKER_IDLE_MS": "YOUR_VALUE",
        "SURF_RESEARCH_READ_CONCURRENCY": "YOUR_VALUE",
        "SURF_RESEARCH_QUERY_TIMEOUT_MS": "YOUR_VALUE",
        "GITHUB_TOKEN": "YOUR_VALUE",
        "SURF_LOCALE": "YOUR_VALUE",
        "SURF_TZ": "YOUR_VALUE",
        "SURF_HEADLESS": "YOUR_VALUE",
        "SURF_IDLE_CLOSE_MS": "YOUR_VALUE",
        "SURF_ALLOW_PRIVATE": "YOUR_VALUE",
        "SURF_LLM_HEAL": "YOUR_VALUE",
        "SURF_LLM_PROVIDER": "YOUR_VALUE",
        "SURF_LLM_MODEL": "YOUR_VALUE",
        "ANTHROPIC_API_KEY": "YOUR_VALUE",
        "ORCAROUTER_API_KEY": "YOUR_VALUE"
      }
    }
  }
}
```
一键安装：cursor://anysphere.cursor-deeplink/mcp/install?name=io-github-harimxchoi-google-surf-mcp&config=eyJjb21tYW5kIjoibnB4IiwiYXJncyI6WyIteSIsImdvb2dsZS1zdXJmLW1jcCJdLCJlbnYiOnsiU0VBUkNIX0FQSSI6IllPVVJfVkFMVUUiLCJTVVJGX1NFQVJDSF9QUk9WSURFUiI6IllPVVJfVkFMVUUiLCJTVVJGX1NDSE9MQVJfUFJPVklERVIiOiJZT1VSX1ZBTFVFIiwiU1VSRl9CUk9XU0VSX0VOR0lORSI6IllPVVJfVkFMVUUiLCJDSFJPTUVfUEFUSCI6IllPVVJfVkFMVUUiLCJTVVJGX1BST0ZJTEVfUk9PVCI6IllPVVJfVkFMVUUiLCJTVVJGX1JFU0VBUkNIIjoiWU9VUl9WQUxVRSIsIlNVUkZfUkVUUklFVkFMX01PREUiOiJZT1VSX1ZBTFVFIiwiU1VSRl9SRVNFQVJDSF9ST09UIjoiWU9VUl9WQUxVRSIsIlNVUkZfUkVTRUFSQ0hfVkVDVE9SX01PREVMIjoiWU9VUl9WQUxVRSIsIlNVUkZfUkVTRUFSQ0hfVkVDVE9SX0xPV19NRU1PUlkiOiJZT1VSX1ZBTFVFIiwiU1VSRl9SRVNFQVJDSF9WRUNUT1JfVEhSRUFEUyI6IllPVVJfVkFMVUUiLCJTVVJGX1JFU0VBUkNIX1JFUE9fQVVUTyI6IllPVVJfVkFMVUUiLCJTVVJGX1JFU0VBUkNIX1JFUE9fQVVUT19NQVhfTUIiOiJZT1VSX1ZBTFVFIiwiU1VSRl9SRVNFQVJDSF9SRVBPX0FVVE9fTUFYX0ZJTEVTIjoiWU9VUl9WQUxVRSIsIlNVUkZfUkVTRUFSQ0hfQlJPS0VSX0lETEVfTVMiOiJZT1VSX1ZBTFVFIiwiU1VSRl9SRVNFQVJDSF9SRUFEX0NPTkNVUlJFTkNZIjoiWU9VUl9WQUxVRSIsIlNVUkZfUkVTRUFSQ0hfUVVFUllfVElNRU9VVF9NUyI6IllPVVJfVkFMVUUiLCJHSVRIVUJfVE9LRU4iOiJZT1VSX1ZBTFVFIiwiU1VSRl9MT0NBTEUiOiJZT1VSX1ZBTFVFIiwiU1VSRl9UWiI6IllPVVJfVkFMVUUiLCJTVVJGX0hFQURMRVNTIjoiWU9VUl9WQUxVRSIsIlNVUkZfSURMRV9DTE9TRV9NUyI6IllPVVJfVkFMVUUiLCJTVVJGX0FMTE9XX1BSSVZBVEUiOiJZT1VSX1ZBTFVFIiwiU1VSRl9MTE1fSEVBTCI6IllPVVJfVkFMVUUiLCJTVVJGX0xMTV9QUk9WSURFUiI6IllPVVJfVkFMVUUiLCJTVVJGX0xMTV9NT0RFTCI6IllPVVJfVkFMVUUiLCJBTlRIUk9QSUNfQVBJX0tFWSI6IllPVVJfVkFMVUUiLCJPUkNBUk9VVEVSX0FQSV9LRVkiOiJZT1VSX1ZBTFVFIn19
需要环境变量：SEARCH_API, SURF_SEARCH_PROVIDER, SURF_SCHOLAR_PROVIDER, SURF_BROWSER_ENGINE, CHROME_PATH, SURF_PROFILE_ROOT, SURF_RESEARCH, SURF_RETRIEVAL_MODE, SURF_RESEARCH_ROOT, SURF_RESEARCH_VECTOR_MODEL, SURF_RESEARCH_VECTOR_LOW_MEMORY, SURF_RESEARCH_VECTOR_THREADS, SURF_RESEARCH_REPO_AUTO, SURF_RESEARCH_REPO_AUTO_MAX_MB, SURF_RESEARCH_REPO_AUTO_MAX_FILES, SURF_RESEARCH_BROKER_IDLE_MS, SURF_RESEARCH_READ_CONCURRENCY, SURF_RESEARCH_QUERY_TIMEOUT_MS, GITHUB_TOKEN, SURF_LOCALE, SURF_TZ, SURF_HEADLESS, SURF_IDLE_CLOSE_MS, SURF_ALLOW_PRIVATE, SURF_LLM_HEAL, SURF_LLM_PROVIDER, SURF_LLM_MODEL, ANTHROPIC_API_KEY, ORCAROUTER_API_KEY
