EyalSec

io.github.EyalSec由 GitHub 帳號 EyalSec 發布v0.1.1更新於 Nov 2, 2026

Read your EyalSec security events, machines, runs and rules from an AI assistant.

已驗證STDIO僅桌面開發者工具安全與監控

概覽

AI 產生的概覽

唯讀的 MCP 伺服器,讓助理用自然語言查詢 EyalSec 的安全事件、機器、執行紀錄與規則。

可以做什麼
  • 搜尋並讀取安全事件,支援篩選、分頁、完整追蹤與原始碼上下文
  • 彙整事件統計、各產品事件數量、sink 標籤與事件關聯圖
  • 檢視執行紀錄、單一機器的 CI 發現、機器清單與支援的安裝目標
  • 查閱帳戶設定:規則、篩選器、汙點設定、唯一性設定與規則範本
  • 查詢標籤、已儲存搜尋、帳戶額度、金鑰權限範圍與活動紀錄
適用情境
適合在 Python 應用程式上使用 EyalSec,並希望借助平日用於程式碼審查的助理來排查發現、解釋汙點路徑或查看機器與更新狀態的情境。
執行需求
需要本機 Python 3.10 以上版本,或使用 uv,透過 uvx eyalsec-mcp 以 stdio 啟動。需要 EyalSec 帳戶與 API 金鑰,透過 EYALSEC_API_KEY 提供;帳戶位於其他網域時可設定 EYALSEC_URL。需要能連線至 EyalSec API 的網路。
安裝前請注意
需要在 EYALSEC_API_KEY 中提供 API 金鑰,建議使用唯讀金鑰,並可設定到期日。事件資料、堆疊追蹤與命令列含有來自受監控程式的不受信任文字,對助理提出的任何操作應保留人工複核。伺服器僅供讀取,但受 API 速率限制,search_events 每次最多讀取 10 頁。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 EyalSec,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

EyalSec MCP server

[OpenSSF Scorecard]

Ask your AI assistant about your EyalSec account in plain words: "what critical events came in since Monday?", "show me the full trace for event 90210", "which machines need an update?". This server gives Claude, Cursor and any other MCP client read access to your events, machines, runs and rules through the EyalSec API, so the assistant you already use for code review can also help you triage what EyalSec found.

EyalSec is the best Python security product there is. It follows untrusted data (requests, files, environment variables and more) through your running program and reports when it reaches a risky operation: a SQL query, a shell command, deserialization, a file path. Each event names the operation, the line of code, the value it received and where the untrusted part came from. This server reads those events; it never changes anything on your account.

What you need

  • An EyalSec account and an API key. Create the key on your dashboard under Settings > API access. A read-only key is all this server needs, and it is the one we recommend: see API keys.
  • Python 3.10 or newer, or uv, which runs the server without a separate install.

No account yet? Book a live demo and we will set one up with you. Pricing is at eyalsec.com/pricing.

Set it up

The server speaks MCP over stdio. Your client starts it with uvx eyalsec-mcp (or eyalsec-mcp after pipx install eyalsec-mcp) and passes the key in the environment.

Claude Code

bash
claude mcp add eyalsec -e EYALSEC_API_KEY=es2_your_read_only_key -- uvx eyalsec-mcp

Claude Desktop

Add this to claude_desktop_config.json (Settings > Developer > Edit Config), then restart Claude Desktop:

json
{  "mcpServers": {    "eyalsec": {      "command": "uvx",      "args": ["eyalsec-mcp"],      "env": {        "EYALSEC_API_KEY": "es2_your_read_only_key"      }    }  }}

Cursor

Add the same block to ~/.cursor/mcp.json (every project) or .cursor/mcp.json (one project):

json
{  "mcpServers": {    "eyalsec": {      "command": "uvx",      "args": ["eyalsec-mcp"],      "env": {        "EYALSEC_API_KEY": "es2_your_read_only_key"      }    }  }}

Docker

bash
docker build -t eyalsec-mcp https://github.com/EyalSec/eyalsec-mcp.gitdocker run --rm -i -e EYALSEC_API_KEY=es2_your_read_only_key eyalsec-mcp

Use the second line as the command in any client's configuration.

Any other MCP client

Run uvx eyalsec-mcp as a stdio server with EYALSEC_API_KEY set. To check the key before wiring it into a client:

bash
EYALSEC_API_KEY=es2_your_read_only_key uvx eyalsec-mcp --check

It calls the API once and prints the account it reached, the key's scope and the number of machines.

Settings

VariableRequiredMeaning
EYALSEC_API_KEYyesYour API key, from Settings > API access. Read-only is enough.
EYALSEC_URLnoYour EyalSec address. Defaults to https://eyalsec.com; set it only if your account lives on another domain. Must be https://.

What it can do

Every tool is a read. The server has no code path that adds, changes or deletes anything, so even a full-access key cannot be used to write through it.

ToolWhat it answers
search_eventsYour events, newest or most severe first, with the events page's filters: product, severity, dates, machine, taint source, impact class, label, sink pattern, run, and the advanced condition builder. Follows the API's paging for you.
get_eventOne event in full: stack trace, where the data came in, where the value was created, nearby source code when the machine sends it, your note, and the runs that produced it.
event_statsThe dashboard summary: totals, the last hour, day and week, top event types and a 14-day timeline.
event_countsHow many events each product's list holds, live versus suppressed, and the count toward your monthly quota.
list_event_namesThe distinct sink labels across your events, handy for building a filter.
event_mapThe es-python events as a graph: sources, the files data was read from, and the operations it reached.
list_runsThe program invocations behind your events, with their command lines (secrets masked).
ci_findingsWhat runs on one machine reported since a moment, counted by severity, with which findings are new.
list_machinesEvery machine: status, OS target, product, installed and newest build, and whether an update is waiting.
supported_targetsThe Linux distributions, architectures and Python versions es-python installs on.
list_rules, list_filters, get_taint_settings, get_event_uniqueness, list_rule_templatesHow your account and each machine are configured.
list_labels, list_saved_searchesYour triage labels and saved searches.
get_account, list_activityYour profile and limits, your key's scope and expiry (never the key), setup progress, and the activity log.

Some things to try:

  • "Summarize this week's critical and high events by machine."
  • "Open the newest SQL injection event and explain the path from the request to the query."
  • "Which runs of app.py produced command-injection events yesterday?"
  • "Do any machines have an update waiting or an install stuck in pending?"

Safety notes

  • Events contain untrusted text. A value that reached a sink, a stack trace or a command line came from a monitored program and its inputs, which can include text an attacker wrote. The server tells the assistant to treat it as data, not instructions; keep human review on anything the assistant proposes to do with it.
  • Use a read-only key. It can read everything this server reads and nothing more. A key can also carry an expiry date.
  • The key stays with you. It is read from the environment, sent only to your EyalSec address over HTTPS, and never returned by any tool. Plain HTTP is refused except to localhost.
  • The API's rate limits apply. search_events reads at most 10 pages per call and hands back a cursor for the rest.

Development

bash
git clone https://github.com/EyalSec/eyalsec-mcp && cd eyalsec-mcppython -m venv .venv && . .venv/bin/activatepip install -e '.[test]'pytest

The tests run against a fake API. To also run one read-only pass against your own account, set EYALSEC_LIVE=1 and EYALSEC_API_KEY.

Help

Questions and bug reports are welcome in issues, or write to [email protected]. Please send security reports to [email protected] rather than a public issue.

License

MIT. See LICENSE. The license covers this MCP server; your EyalSec account is governed by the EyalSec terms.

來源:README.md,提交 ae6b89a

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

2
  1. v0.1.1最新Oct 19, 2026
  2. v0.1.0Oct 15, 2026

評分

已滿足適用檢查項的 50%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分