ScavioScavio
产品定价文档
登录开始使用
  1. 首页
  2. 教程
  3. 如何在 IDE 中审核 MCP 工具权限
教程

如何在 IDE 中审核 MCP 工具权限

检查并锁定 MCP 工具权限,以便您的 IDE 代理仅访问批准的 API。对 Cursor、VS Code、Windsurf 进行逐步审核。

获取免费API密钥API文档

MCP 工具使您的 IDE 代理能够访问外部 API、数据库和服务。未经审核的配置可能会暴露 API 密钥、允许意外写入或收取费用。本教程将逐步介绍审核连接的 MCP 工具、按风险级别对它们进行分类、检查明文 API 密钥以及监控使用情况。

前置条件

  • 支持 MCP 的 IDE(光标、VS Code、Windsurf)
  • 至少配置一台 MCP 服务器
  • MCP的基本了解

操作指南

步骤 1: 列出所有已配置的 MCP 服务器

读取 IDE 配置文件以查看连接的服务器。

Python
import json, os

def list_mcp():
    for path in ['.mcp.json', os.path.expanduser('~/.cursor/mcp.json')]:
        if os.path.exists(path):
            config = json.load(open(path))
            servers = config.get('mcpServers', config.get('servers', {}))
            print(f'\n{path}:')
            for name, srv in servers.items():
                url = srv.get('url', srv.get('command', '?'))
                print(f'  {name}: {url}')
                for k in srv.get('env', {}):
                    safe = '***' if any(s in k.lower() for s in ['key', 'secret', 'token']) else srv['env'][k]
                    print(f'    {k}: {safe}')

list_mcp()

步骤 2: 按风险对工具进行分类

将每个工具分类为只读、写入或破坏性。

Python
def classify(tool_name):
    t = tool_name.lower()
    if any(w in t for w in ['delete', 'remove', 'drop']): return 'HIGH'
    if any(w in t for w in ['create', 'update', 'send', 'write']): return 'MEDIUM'
    if any(w in t for w in ['search', 'get', 'list', 'fetch', 'read']): return 'LOW'
    return 'REVIEW'

for tool in ['scavio_search', 'gmail_send_email', 'db_delete_record', 'list_files']:
    print(f'  [{classify(tool):6}] {tool}')

步骤 3: 检查明文 API 密钥

验证密钥使用环境变量,而不是原始值。

Python
def audit_keys(path='.mcp.json'):
    config = json.load(open(path))
    issues = []
    for name, srv in config.get('mcpServers', {}).items():
        for k, v in srv.get('env', {}).items():
            if any(s in k.lower() for s in ['key', 'secret', 'token']):
                if not v.startswith('$') and len(v) > 10:
                    issues.append(f'{name}.{k}: plaintext key detected')
    if issues:
        for i in issues: print(f'  WARNING: {i}')
    else:
        print('  No plaintext keys found.')

audit_keys()

步骤 4: 监控 MCP 使用情况

跟踪您的代理调用了哪些工具。

Python
from collections import Counter

class MCPMonitor:
    def __init__(self): self.calls = Counter()
    def log(self, tool): self.calls[tool] += 1
    def report(self):
        for tool, count in self.calls.most_common():
            print(f'  {tool:30} {count:4} calls [{classify(tool)}]')

m = MCPMonitor()
m.log('scavio_search'); m.log('scavio_search'); m.log('gmail_send_email')
m.report()

Python 示例

Python
import json, os
def audit(path='.mcp.json'):
    if not os.path.exists(path): print('Not found'); return
    for name, srv in json.load(open(path)).get('mcpServers', {}).items():
        url = srv.get('url', srv.get('command', '?'))
        print(f'{name}: {url}')
        for k, v in srv.get('env', {}).items():
            print(f'  {k}: {"***" if "key" in k.lower() else v}')
audit()

JavaScript 示例

JavaScript
const fs = require('fs');
function audit(path = '.mcp.json') {
  if (!fs.existsSync(path)) return console.log('Not found');
  const config = JSON.parse(fs.readFileSync(path, 'utf8'));
  for (const [name, srv] of Object.entries(config.mcpServers || {})) {
    console.log(`${name}: ${srv.url || srv.command || '?'}`);
    for (const [k, v] of Object.entries(srv.env || {}))
      console.log(`  ${k}: ${/key|secret|token/i.test(k) ? '***' : v}`);
  }
}
audit();

预期输出

JSON
.mcp.json:
  scavio: https://mcp.scavio.dev/mcp
    SCAVIO_API_KEY: ***
  [LOW   ] scavio_search
  [MEDIUM] gmail_send_email
  [HIGH  ] db_delete_record
  No plaintext keys found.

相关教程

  • 如何通过 MCP 将实时搜索添加到光标
  • 如何将 SearXNG 后备添加到您的搜索管道
  • 如何优化人工智能代理的搜索预算

常见问题

大多数开发者在15到30分钟内完成本教程。您需要一个Scavio API密钥(免费套餐即可)和可用的Python或JavaScript环境。

支持 MCP 的 IDE(光标、VS Code、Windsurf). 至少配置一台 MCP 服务器. MCP的基本了解. Scavio API密钥注册即送50个免费积分。

可以。免费套餐注册即送50个积分,完全足够完成本教程并构建一个可运行的原型解决方案。

Scavio提供原生LangChain包(langchain-scavio)、MCP服务器以及适用于任何HTTP客户端的REST API。本教程使用 the raw REST API, 但您可以根据需要适配您选择的框架。

相关资源

Use Case

IDE MCP 搜索

Read more
Best Of

2026 年 IDE 集成最佳 MCP 搜索工具

Read more
Best Of

2026年Claude Code最佳MCP搜索工具

Read more
Use Case

MCP 自定义搜索服务器

Read more
Solution

MCP按需上下文节省

Read more
Solution

MCP Tavily Scavio

Read more

开始构建

检查并锁定 MCP 工具权限,以便您的 IDE 代理仅访问批准的 API。对 Cursor、VS Code、Windsurf 进行逐步审核。

获取免费API密钥阅读文档
ScavioScavio

面向AI智能体的实时搜索API。搜索所有平台,不仅仅是Google。

产品

  • 功能
  • 定价
  • 控制台
  • 联盟计划

开发者

  • 文档
  • API参考
  • 快速开始
  • MCP集成
  • Python SDK

替代方案

  • Tavily替代方案
  • SerpAPI替代方案
  • Firecrawl替代方案
  • Exa替代方案

工具

  • JSON格式化
  • cURL转代码
  • Token计数器
  • 全部工具

© 2026 Scavio. 保留所有权利。

Featured on TAAFT
服务条款隐私政策