MCP协议驱动的AI Agent工具调用基础设施 — 17个MCP Server / 73个工具 / 100%代码层路由
Drift inferred · capture-to-capture
No drift recorded — single capability capture; advisories appear once its surface changes.
transport stdio counts 38 tools · 0 res
· 0 prompts
permission surface via code analysis
tools
-
agent_reach_search
-
agent_reach_web_read
-
agent_speak
-
calculate
-
call_agent
-
chart_generate
-
compose_poster
-
convert_document
-
data_clean
-
download_video
-
echo
-
email_send
-
export_csv
-
export_excel
-
finance_audit
-
finance_budget
-
finance_invoice
-
finance_report
-
finance_tax
-
generate_image
-
generate_image_freeapi
-
generate_video
-
list_files
-
ocr_image
-
pdf_to_word
-
query_database
-
read_file
-
read_hot_news
-
read_user_file
-
run_python
-
run_shell
-
skills_execute
-
sms_send
-
speech_recognition
-
video_to_text
-
web_crawl
-
web_search
-
write_file
prompt-surface
shipped agent-instruction files + hidden-content / dangerous-code findings —
quoted from the analyzed source
analyzed commit 92ecbfa · analyzer v33 · 4d ago
danger signals2
- dynamic code execution __import__() haohewh-starpivot-engine-92ecbfa/mcp_servers/code_server.py :234
return __import__(name, *args, **kwargs) - dynamic code execution eval()/exec() haohewh-starpivot-engine-92ecbfa/starpivot/discovery/auto_tester.py :185
exec(imp_line, test_ns)
evidence-backed
findings quoted directly from the published source artifact — not inferred
code files: 99
filesystem 19
- fs haohewh-starpivot-engine-92ecbfa/db.py :14
from pathlib import Path - fs haohewh-starpivot-engine-92ecbfa/mcp_servers/code_server.py :275
with open(tmp_path, "w", encoding="utf-8") as f: - fs haohewh-starpivot-engine-92ecbfa/mcp_servers/data_server.py :268
with open(output_path, "w", encoding="utf-8-sig", newline="") as f: - fs haohewh-starpivot-engine-92ecbfa/mcp_servers/media_server.py :205
os.unlink(audio_path) - fs haohewh-starpivot-engine-92ecbfa/starpivot/db/database.py :14
from pathlib import Path - fs haohewh-starpivot-engine-92ecbfa/starpivot/db/schema.py :15
from pathlib import Path - fs haohewh-starpivot-engine-92ecbfa/starpivot/discovery/__init__.py :19
with open(path, "w") as f: - fs haohewh-starpivot-engine-92ecbfa/starpivot/discovery/auto_tester.py :157
with open(filepath, "r", encoding="utf-8") as f: - fs haohewh-starpivot-engine-92ecbfa/starpivot/discovery/registry_manager.py :27
import shutil - fs haohewh-starpivot-engine-92ecbfa/starpivot/discovery/wrapper_generator.py :46
with open("my_server.py", "w") as f: - fs haohewh-starpivot-engine-92ecbfa/starpivot/marketplace/manager.py :187
with open(server_file, "w", encoding="utf-8") as f: - fs haohewh-starpivot-engine-92ecbfa/starpivot/marketplace/tool_scorer.py :430
with open(json_file) as f: - fs haohewh-starpivot-engine-92ecbfa/starpivot/registry.py :202
with open(filepath, "r", encoding="utf-8") as f: - fs (weak) haohewh-starpivot-engine-92ecbfa/starpivot/spark/security_test.py :183
with open(fpath, "r", errors="ignore") as f: - fs haohewh-starpivot-engine-92ecbfa/starpivot/spark/update_monitor.py :23
from pathlib import Path - fs haohewh-starpivot-engine-92ecbfa/tools.py :46
with open(path, "r", encoding="utf-8") as f: - fs haohewh-starpivot-engine-92ecbfa/tools/file_ops.py :51
with open(path, "r", encoding="utf-8") as f: - fs haohewh-starpivot-engine-92ecbfa/tools/image_ops.py :127
with open(filepath, "w", encoding="utf-8") as f: - fs haohewh-starpivot-engine-92ecbfa/tools/registry.py :311
for line in open(env_file):
shell / exec 4
- shell haohewh-starpivot-engine-92ecbfa/mcp_servers/code_server.py :22
import subprocess - shell haohewh-starpivot-engine-92ecbfa/mcp_servers/media_server.py :124
import subprocess - shell haohewh-starpivot-engine-92ecbfa/starpivot/discovery/wrapper_generator.py :158
import subprocess - shell haohewh-starpivot-engine-92ecbfa/starpivot/spark/update_monitor.py :21
import subprocess
network 8
- net haohewh-starpivot-engine-92ecbfa/mcp_servers/search_server.py :63
from urllib.parse import quote - net haohewh-starpivot-engine-92ecbfa/mcp_servers/web_server.py :141
import requests - net haohewh-starpivot-engine-92ecbfa/starpivot/discovery/wrapper_generator.py :255
code += " # import requests\n" - net haohewh-starpivot-engine-92ecbfa/starpivot/spark/star_sync.py :2
import json, logging, urllib.request - net haohewh-starpivot-engine-92ecbfa/tools.py :157
import requests - net haohewh-starpivot-engine-92ecbfa/tools/image_ops.py :449
resp = requests.post( - net haohewh-starpivot-engine-92ecbfa/tools/registry.py :318
resp = requests.post( - net haohewh-starpivot-engine-92ecbfa/tools/web_ops.py :63
import requests
secrets 4
- secrets haohewh-starpivot-engine-92ecbfa/tools.py :147
api_key = os.environ.get("FIRECRAWL_API_KEY") - secrets haohewh-starpivot-engine-92ecbfa/tools/image_ops.py :438
api_key = os.environ.get("MINIMAX_API_KEY", "") - secrets haohewh-starpivot-engine-92ecbfa/tools/registry.py :307
api_key = os.environ.get("MINIMAX_API_KEY", "") - secrets haohewh-starpivot-engine-92ecbfa/tools/web_ops.py :53
api_key = os.environ.get("FIRECRAWL_API_KEY")
database 15
- db haohewh-starpivot-engine-92ecbfa/db.py :9
import sqlite3 - db haohewh-starpivot-engine-92ecbfa/starpivot/db/database.py :9
import sqlite3 - db haohewh-starpivot-engine-92ecbfa/starpivot/db/mixins/agents.py :2
import sqlite3 - db haohewh-starpivot-engine-92ecbfa/starpivot/db/mixins/audit.py :2
import sqlite3 - db haohewh-starpivot-engine-92ecbfa/starpivot/db/mixins/content.py :2
import sqlite3 - db haohewh-starpivot-engine-92ecbfa/starpivot/db/mixins/conversations.py :2
import sqlite3 - db haohewh-starpivot-engine-92ecbfa/starpivot/db/mixins/core.py :2
import sqlite3 - db haohewh-starpivot-engine-92ecbfa/starpivot/db/mixins/finance.py :2
import sqlite3 - db haohewh-starpivot-engine-92ecbfa/starpivot/db/mixins/invitations.py :2
import sqlite3 - db haohewh-starpivot-engine-92ecbfa/starpivot/db/mixins/marketplace.py :2
import sqlite3 - db haohewh-starpivot-engine-92ecbfa/starpivot/db/mixins/memory.py :2
import sqlite3 - db haohewh-starpivot-engine-92ecbfa/starpivot/db/mixins/services.py :2
import sqlite3 - db haohewh-starpivot-engine-92ecbfa/starpivot/db/mixins/tasks.py :2
import sqlite3 - db haohewh-starpivot-engine-92ecbfa/starpivot/db/mixins/users.py :2
import sqlite3 - db haohewh-starpivot-engine-92ecbfa/starpivot/db/schema.py :10
import sqlite3
tool registrations 39
- agent_speak haohewh-starpivot-engine-92ecbfa/mcp_servers/audio_server.py :175
- speech_recognition haohewh-starpivot-engine-92ecbfa/mcp_servers/audio_server.py :199
- run_python haohewh-starpivot-engine-92ecbfa/mcp_servers/code_server.py :418
- run_shell haohewh-starpivot-engine-92ecbfa/mcp_servers/code_server.py :447
- convert_document haohewh-starpivot-engine-92ecbfa/mcp_servers/data_server.py :528
- data_clean haohewh-starpivot-engine-92ecbfa/mcp_servers/data_server.py :544
- export_csv haohewh-starpivot-engine-92ecbfa/mcp_servers/data_server.py :579
- export_excel haohewh-starpivot-engine-92ecbfa/mcp_servers/data_server.py :608
- chart_generate haohewh-starpivot-engine-92ecbfa/mcp_servers/data_server.py :637
- query_database haohewh-starpivot-engine-92ecbfa/mcp_servers/db_server.py :90
- pdf_to_word haohewh-starpivot-engine-92ecbfa/mcp_servers/doc_server.py :91
- read_file haohewh-starpivot-engine-92ecbfa/mcp_servers/file_server.py :89
- read_user_file haohewh-starpivot-engine-92ecbfa/mcp_servers/file_server.py :104
- write_file haohewh-starpivot-engine-92ecbfa/mcp_servers/file_server.py :122
- list_files haohewh-starpivot-engine-92ecbfa/mcp_servers/file_server.py :145
- finance_report haohewh-starpivot-engine-92ecbfa/mcp_servers/finance_server.py :56
- finance_audit haohewh-starpivot-engine-92ecbfa/mcp_servers/finance_server.py :84
- finance_budget haohewh-starpivot-engine-92ecbfa/mcp_servers/finance_server.py :128
- finance_invoice haohewh-starpivot-engine-92ecbfa/mcp_servers/finance_server.py :167
- finance_tax haohewh-starpivot-engine-92ecbfa/mcp_servers/finance_server.py :228
- generate_image_freeapi haohewh-starpivot-engine-92ecbfa/mcp_servers/image_server.py :87
- ocr_image haohewh-starpivot-engine-92ecbfa/mcp_servers/image_server.py :106
- compose_poster haohewh-starpivot-engine-92ecbfa/mcp_servers/image_server.py :121
- download_video haohewh-starpivot-engine-92ecbfa/mcp_servers/media_server.py :236
- video_to_text haohewh-starpivot-engine-92ecbfa/mcp_servers/media_server.py :251
- generate_video haohewh-starpivot-engine-92ecbfa/mcp_servers/media_server.py :273
- calculate haohewh-starpivot-engine-92ecbfa/mcp_servers/misc_server.py :87
- echo haohewh-starpivot-engine-92ecbfa/mcp_servers/misc_server.py :103
- skills_execute haohewh-starpivot-engine-92ecbfa/mcp_servers/misc_server.py :117
- generate_image haohewh-starpivot-engine-92ecbfa/mcp_servers/misc_server.py :133
- call_agent haohewh-starpivot-engine-92ecbfa/mcp_servers/misc_server.py :163
- email_send haohewh-starpivot-engine-92ecbfa/mcp_servers/notification_server.py :154
- sms_send haohewh-starpivot-engine-92ecbfa/mcp_servers/notification_server.py :198
- agent_reach_search haohewh-starpivot-engine-92ecbfa/mcp_servers/search_server.py :126
- web_search haohewh-starpivot-engine-92ecbfa/mcp_servers/web_server.py :231
- agent_reach_web_read haohewh-starpivot-engine-92ecbfa/mcp_servers/web_server.py :246
- agent_reach_search haohewh-starpivot-engine-92ecbfa/mcp_servers/web_server.py :262
- read_hot_news haohewh-starpivot-engine-92ecbfa/mcp_servers/web_server.py :276
- web_crawl haohewh-starpivot-engine-92ecbfa/mcp_servers/web_server.py :292
declared dependencies 13
- mcp@>=1.0.0
- openai@>=1.0.0
- dashscope@>=1.14.0
- fastapi@>=0.100.0
- uvicorn@>=0.20.0
- requests@>=2.28.0
- httpx@>=0.24.0
- aiohttp@>=3.8.0
- numpy@>=1.24.0
- pandas@>=2.0.0
- Pillow@>=10.0.0
- easyocr@>=1.7.0
- python-dotenv@>=1.0.0