# veddata (pypi · veddata)

MCP server for AI agents: discover a web page's data sources and drive the page to reach them.

- Trust score: 70/100 (medium)
- Change this week: +20
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-09-20

## Components

- pypi · `veddata`: 70/100 (this document), [markdown](https://verifymcp.io/servers/sanzineo-veddata/veddata.md), [page](https://verifymcp.io/servers/sanzineo-veddata/veddata)

## Channel facts

- Registry: `pypi`
- Package: `veddata`
- Version: `0.1.2`
- Transport: `stdio`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-09-20.

- **Supply Chain Security**: 100/100
  - No malware found by supply-chain analysis.
  - No known CVEs affecting this package version or its production dependencies.
  - Runs setuptools.build_meta at install time, a recognised native-build step with no shell scripting around it.
  - 1 of 26 dependencies flagged as unhealthy.
- **Provenance & Transparency**: 32/100
  - Source repository is publicly reachable at the declared URL.
  - Provenance check failed: no build-provenance attestation is published.
  - License check failed: no license is declared.
  - Actively maintained (last published 9 days ago).
  - Disclosure check failed: no security disclosure policy was found in the source repository.
- **Schema Quality & AI Usability**: 70/100
  - AI-judged instruction clarity (excellent).
  - Context-footprint check failed: tool/resource definitions use about 4917 tokens (~163/item across 30 items; 30 tools + 0 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 33/100
  - Stability observed for 10 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 98/100
  - 97% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 100% of tool parameters carry a description.
  - Structured output schemas are declared (100% of tools); any adoption earns full credit.
- **Tool Safety**: 75/100
  - No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.
  - 0 of 2 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation; "ved_act" implies "execute" and declares no destructiveHint at all, which the MCP spec reads as destructive by default.
  - An AI judge read all 31 captured unit(s) of tool text and found none that tries to manipulate the model reading it.
- **Capabilities**: 100/100
  - Implements a current MCP spec version (2026-07-28).

## Install

### How do I install the veddata MCP server?

veddata runs locally as a PyPI package, launched with uvx veddata. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

### Claude

```bash
claude mcp add sanzineo-veddata -- uvx veddata
```

### Cursor

```json
{
  "mcpServers": {
    "sanzineo-veddata": {
      "command": "uvx",
      "args": [
        "veddata"
      ]
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "sanzineo-veddata": {
      "command": "uvx",
      "args": [
        "veddata"
      ]
    }
  }
}
```

### Codex

```bash
codex mcp add sanzineo-veddata -- uvx veddata
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "sanzineo-veddata": {
      "type": "local",
      "command": [
        "uvx",
        "veddata"
      ],
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add sanzineo-veddata --command uvx --arg veddata
```

### Hermes

```yaml
mcp_servers:
  sanzineo-veddata:
    command: "uvx"
    args: ["veddata"]
```

### Netclaw

```json
{
  "McpServers": {
    "sanzineo-veddata": {
      "Transport": "stdio",
      "Command": "uvx",
      "Arguments": [
        "veddata"
      ]
    }
  }
}
```

### Vellum

```bash
assistant mcp add sanzineo-veddata -t stdio -c uvx -a veddata
```

### Other

```json
{
  "mcpServers": {
    "sanzineo-veddata": {
      "command": "uvx",
      "args": [
        "veddata"
      ]
    }
  }
}
```

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-09-19 (score 70, +1)

No change was recorded against any check on this day. Stability & Change Management went from 27 to 30. That category is still filling its 30-day observation window: 8 days of observed history at the previous scan, 9 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-09-18 (score 69, +15)

- [security improvement] Malware scan: unverified → pass

### 2026-09-17 (score 54, +4)

- [functional improvement] Stability: unverified → 0.23

### 2026-09-15 (score 50, −15)

- [security regression] Malware scan: pass → unverified

### 2026-09-14 (score 65, +15)

- [security improvement] Malware scan: unverified → pass

### 2026-09-10 (score 50)

First indexed and scored.

## MCP tools (30)

### `ved_open` (~75 tokens)

Ved Open

启动数据发现会话。打开浏览器以开始捕获页面数据源。浏览网页是前置步骤，不是终点。

Launches a Playwright Chromium session (persistent context) and clears
old state.  Does NOT navigate — use ved_goto() for that.

Returns:
    Browser session status.

Output parameters:

- `result` (string)

### `ved_goto` (~164 tokens)

Ved Goto

导航到目标页面，自动发现所有数据来源。返回 DOM 结构、网络请求、内嵌数据清单。

Starts network monitoring BEFORE navigating (event-driven attach happens
at tab registration, which precedes goto).

Use new_tab=True to open in a new tab while keeping the current page.

Input parameters:

- `depth` (integer): DOM 树深度（默认 2，够看清结构；要细看传 4-8）。
- `limit` (integer): 捕获清单预览条数（默认 10；完整清单用 ved_apis 分页取）。
- `new_tab` (boolean): True = create new tab; False = navigate current tab.
- `url` (string, required): Target URL to navigate to.

Output parameters:

- `result` (string)

### `ved_close` (~34 tokens)

Ved Close

Close the browser and clear all captured data.

Closes the Playwright context and resets all state.

Returns:
    Status message.

Output parameters:

- `result` (string)

### `ved_tabs` (~80 tokens)

Ved Tabs

List all open browser tabs with their URLs — 这是"重新建档"的入口。

页面自己跳走、用户开关标签页之后，依赖活状态的工具会被拒绝；
先调这个（或 ved_status）确认现状，再继续。

Returns:
    Tab list with short IDs, URLs, titles and current marker.

Output parameters:

- `result` (string)

### `ved_tab_switch` (~57 tokens)

Ved Tab Switch

Switch the active tab by CDP short ID (from ved_tabs output).

After switching, ved_goto() targets the new tab.

Input parameters:

- `tab` (string, required): CDP short ID (first 8 chars, from ved_tabs output).

Output parameters:

- `result` (string)

### `ved_tab_close` (~74 tokens)

Ved Tab Close

Close browser tab(s) by CDP short ID and prune their API records.

Supports comma-separated IDs for batch close (e.g. "C724404D,5FD84E84").
Empty = close current tab.

Input parameters:

- `tab` (string): CDP short ID(s), comma-separated. Empty = current tab.

Output parameters:

- `result` (string)

### `ved_status` (~117 tokens)

Ved Status

状态体检：现在有哪些标签页、各自在哪个页面、有没有撞上人机门。

用户说"登录好了 / 验证过了"之后**先调这个** —— 不要重新导航（会再次触发风控）。
它同时是一次"重新建档"：调过之后依赖活状态的工具才放行。

Returns:
    浏览器模式、状态账本、当前页、标签页清单、捕获到的 API 条数、人机门判定。

Output parameters:

- `result` (string)

### `ved_fetch` (~107 tokens)

Ved Fetch

获取页面全文，辅助定位数据关键词。当需要从页面文本中选取关键词来反查数据时使用。

First call scrolls to bottom and writes a JSON cache file.
Subsequent calls with start_index read from cache (no re-scroll).

Input parameters:

- `max_length` (integer): Characters per chunk (default 5000).
- `start_index` (integer): Start position (default 0).
- `tab` (string): CDP short ID (empty = current active tab).

Output parameters:

- `result` (string)

### `ved_screenshot` (~81 tokens)

Ved Screenshot

截图当前页面。

Input parameters:

- `full_page` (boolean): True = 整页，False = 当前视口。
- `name` (string): 可选的文件名前缀（留空则只用站点名+时间戳）。
- `output_dir`: 本次落盘目录（绝对路径），覆盖 --response-dir。

Output parameters:

- `result` (string)

### `ved_dom_tree` (~106 tokens)

Ved Dom Tree

输出当前页面的 DOM 目录树（内存快照，含容器/字段/交互标记）。

首次调用或页面导航后会自动重新扫描；此后从内存读取，不再调浏览器。

Input parameters:

- `depth` (integer): 树的显示深度（默认 2，够看清结构；要细看传 4-8）。
- `tab` (string): CDP short ID（空 = 当前激活 tab）。

Output parameters:

- `result` (string)

### `ved_dom_search` (~120 tokens)

Ved Dom Search

在内存 DOM 树中搜索文本。

不调浏览器，直接在保存的树结构里查找。返回匹配的节点路径和上下文。

Input parameters:

- `keyword` (string, required): 搜索关键字（匹配文本/属性/id，大小写不敏感）。
- `limit` (integer): 本次返回条数（默认 30）。
- `offset` (integer): 从第几处匹配开始（默认 0）。
- `tab` (string): CDP short ID（空 = 当前激活 tab）。

Output parameters:

- `result` (string)

### `ved_dom_locate` (~144 tokens)

Ved Dom Locate

通过路径定位一个 DOM 节点。

路径要**从根节点开始**（第一段必须匹配 ``html``）—— 例如
\``html > body.win > div#app > div.feed-card``（可直接从 ved_dom_tree 的输出里抄）。
段格式：``tag[.class][#id][:nth-child(n)]``，``>`` 分隔。

Input parameters:

- `depth` (integer): 子树的显示深度（默认 3）。
- `path` (string, required): 节点路径（从 html 开始）。
- `tab` (string): CDP short ID（空 = 当前激活 tab）。

Output parameters:

- `result` (string)

### `ved_cookies` (~76 tokens)

Ved Cookies

View cookies for the current page.

Input parameters:

- `all_domains` (boolean): False = current domain only, True = all domains.
- `all_info` (boolean): False = name/value/domain only, True = include path/httpOnly/secure/expires.
- `tab` (string): CDP short ID (empty = current active tab).

Output parameters:

- `result` (string)

### `ved_console` (~144 tokens)

Ved Console

操作页面控制台：执行 JS / 查看 log/warn/error 消息。

code 非空 → 在页面执行 JS，返回执行结果。
code 为空 → 返回控制台历史消息（log/warn/error，来自官方内置缓冲）。
tail → 只看最近 N 条；filter → 按文本过滤。

Input parameters:

- `code` (string): 要执行的 JS 代码（空 = 查看历史消息）。
- `filter` (string): 按文本过滤消息。
- `tab` (string): CDP short ID（空 = 当前激活 tab）。
- `tail` (integer): 只看最近 N 条消息（0 = 全部）。

Output parameters:

- `result` (string)

### `ved_act` (~259 tokens)

Ved Act

Execute actions on the page: input, scroll, click, or select.

Two modes:
1\. Single step: ved_act("scroll", "bottom")
   ved_act("input", "python教程", target="搜索")
   ved_act("click", target="下一页")
   ved_act("select", "最多播放", target="综合排序")
   ved_act("click", target="css=a[href*='/download/']")     ← target 也接受选择器
   ved_act("click", target="//a[contains(@href,'/download/')]")

2\. Chain: ved_act(actions=[
     {"action": "input", "value": "python教程", "target": "搜索"},
     {"action": "scroll", "value": "bottom"},
     {"action": "click", "target": "最多播放"},
   ])

Each step reports new API method + path inline so AI sees them immediately.

Input parameters:

- `action` (string): "input", "scroll", "click", or "select" (single mode).
- `actions`: List of action dicts for chain mode.
- `target`: Visible text of the target element.
- `value`: Text input or scroll target (bottom/top/down/up/px).

Output parameters:

- `result` (string)

### `ved_apis` (~114 tokens)

Ved Apis

列出已捕获的所有数据。包括网络请求、DOM 内嵌数据、JS 变量等。每条记录标注触发时机，不贴类型标签。

Input parameters:

- `keyword`: 按 path 或响应体过滤（可选）。
- `limit` (integer): 本次返回条数（默认 30）。
- `offset` (integer): 从第几条开始（默认 0）。
- `tab` (string): CDP short ID（空 = 当前激活 tab）。

Output parameters:

- `result` (string)

### `ved_inspect` (~96 tokens)

Ved Inspect

Show full request and response details for one or more APIs.

Input parameters:

- `detail` (string): "preview" or "full".
- `index` (integer): API ID (from ved_apis output). Use 0 when using indices.
- `indices` (string): Comma-separated API IDs (e.g. "2,4"). Overrides index.
- `tab` (string): CDP short ID (empty = current active tab).

Output parameters:

- `result` (string)

### `ved_search` (~83 tokens)

Ved Search

在已捕获的所有数据中搜索关键词。包括网络请求、DOM 内嵌 JSON、页面渲染文本和 JS 全局变量。

Supports comma-separated keywords for OR search.

Input parameters:

- `keyword` (string, required): Search term, or comma-separated terms for OR logic.
- `tab` (string): CDP short ID (empty = current active tab).

Output parameters:

- `result` (string)

### `ved_context` (~55 tokens)

Ved Context

Search all data sources for keyword, returning field paths and values.

Input parameters:

- `keyword` (string, required): Search term, or comma-separated terms for OR logic.
- `tab` (string): CDP short ID (empty = current active tab).

Output parameters:

- `result` (string)

### `ved_export` (~146 tokens)

Ved Export

导出捕获到的 API 数据源（一个或多个）。

Input parameters:

- `format` (string): "raw" | "compact" | "both"（默认 both）。compact 只返回字段文档，不写盘。
- `index` (integer): API ID（来自 ved_apis 输出）。用 indices 时传 0。
- `indices` (string): 逗号分隔的 API ID（如 "2,4"），优先于 index。
- `output_dir`: 本次落盘目录（**绝对路径**），覆盖启动参数 --response-dir。
- `tab` (string): CDP short ID（空 = 当前激活 tab）。

Output parameters:

- `result` (string)

### `ved_export_all` (~98 tokens)

Ved Export All

一次导出当前 tab 捕获到的所有 API 数据源。

Input parameters:

- `format` (string): "raw" | "compact" | "both"（默认 both）。compact 只返回字段文档，不写盘。
- `output_dir`: 本次落盘目录（**绝对路径**），覆盖启动参数 --response-dir。
- `tab` (string): CDP short ID（空 = 当前激活 tab）。

Output parameters:

- `result` (string)

### `ved_peek` (~75 tokens)

Ved Peek

快速探测指定 URL 的数据源。打开页面 → 自动捕获 API → 返回字段文档。

Input parameters:

- `method`: Optional HTTP method filter ("GET" or "POST").
- `path_contains`: Optional API path filter (e.g. "/search/notes").
- `url` (string, required): Target page URL.

Output parameters:

- `result` (string)

### `ved_request` (~180 tokens)

Ved Request

Send a test HTTP request — replay from captured API or fully custom.

Two modes:
1\. Replay: index=3, params='{"page":2}' — uses API #3's URL/method/headers.
2\. Manual: url="...", method="POST", body="..." — fully custom.

Cookies are auto-synced from the current browser tab.

Input parameters:

- `body` (string): JSON string of request body.
- `headers` (string): JSON string of extra headers.
- `index` (integer): API record number to replay (0 = manual mode).
- `method` (string): HTTP method (default "GET").
- `params` (string): JSON string of query parameters.
- `tab` (string): CDP short ID for cookie sync (empty = current active tab).
- `url` (string): Request URL (manual mode).

Output parameters:

- `result` (string)

### `ved_watch` (~614 tokens)

Ved Watch

批量观测：注册请求/JS 观测点 → 触发操作 → 一次性取回快照。

四种用法（都不传 = 列出当前观测点）：
  1\. 注册：``ved_watch(observations=[{...}, {...}])`` —— 一次可打多个点
  2\. 列表：``ved_watch()`` —— 看 id / 类型 / 目标 / 命中数 / 状态
  3\. 收集：``ved_watch(collect=True)`` —— 等所有点命中（或超时）后返回报告
  4\. 删除：``ved_watch(remove="w1,w3")``，``remove="all"`` 清空

observation 项：
  {"type": "request", "pattern": "/api/*"}                      — 请求（glob 或 /regex/）
  {"type": "js", "url": "...app.js", "line": 147,
   "variables": ["userid", "secret"]}                          — JS 断点（line 是 **1-based**）
  可选字段：{"id": "login", "max": 1}
    id  —— 自定义 id（缺省自动分配 w1/w2…，单调递增、跨批次不重复）
    max —— 该点最多记几次命中，默认 1；**达到后自动移除该点**（0 = 不限，仍受全局上限）

原理：JS 观测点用的是 CDP ``Debugger.setBreakpointByUrl`` —— 和人工断点同一个接口，
区别只在命中后自动读值并 resume，不打断页面。但也因此：断点打在热点行会反复中断，
所以默认只取第一次（要连续观察就调大 max）。

\**先读后打**：JS 观测点要求先读过该脚本（``ved_script_source(url=...)``）。没读过会被
拒绝并提示去读；读完之后脚本变了（页面重载/内容不同）也要重读 —— 否则等于拿旧认知
在错误的行上设断点。请求观测点不涉及代码，没有这个要求。

Input parameters:

- `collect` (boolean): True = 等待收集并返回报告（保留观测点；清理用 remove）。
- `limit` (integer): 报告里最多显示几条快照（默认 5）。
- `observations`: 观测点列表。
- `remove` (string): 要删除的观测点 id，逗号分隔；"all" 表示全部删除。
- `tab` (string): CDP short ID（空 = 当前激活 tab）。
- `timeout` (number): 收集超时秒数（默认 15）。

Output parameters:

- `result` (string)

### `ved_list_scripts` (~133 tokens)

Ved List Scripts

列出页面所有 JS 脚本的 URL、大小和行数。

用于定位目标脚本后传给 ved_script_source。内联的 ``data:`` 脚本**只给摘要** ——
页面里常有几百 KB 的 wasm/base64，整段吐出来会一次性烧掉大量上下文。

Input parameters:

- `limit` (integer): 本次返回个数（默认 30）。
- `offset` (integer): 从第几个脚本开始（默认 0）。
- `tab` (string): CDP short ID（空 = 当前激活 tab）。

Output parameters:

- `result` (string)

### `ved_search_scripts` (~137 tokens)

Ved Search Scripts

全局搜索：在所有已加载的 JS 源码中搜索字符串。

结果按文件分组，显示每个文件的匹配行数（有上限，见 limit / per_file）。
支持正则（query 以 / 开头和结尾时）。

Input parameters:

- `limit` (integer): 最多显示几个文件（默认 5）。
- `per_file` (integer): 每个文件最多显示几行（默认 5）。
- `query` (string, required): 搜索字符串，或 /regex/ 形式。
- `tab` (string): CDP short ID（空 = 当前激活 tab）。

Output parameters:

- `result` (string)

### `ved_script_source` (~250 tokens)

Ved Script Source

局部查看：查看某个脚本源码，支持搜索高亮和上下文。

url: 脚本 URL（从 ved_list_scripts 或 ved_search_scripts 获取）。
query: 搜索字符串，匹配行会高亮（>>> 前缀）——压缩成一行的 bundle 用这个，别翻页。
context_lines: 匹配行前后显示几行上下文。
start_line / line_count: 按行翻页（大文件分段读；单行超过 2000 字符会被截断）。

读到任意窗口即视为"已读该脚本"：之后才允许在它上面打 JS 观测点（ved_watch 的先读后打）。

Input parameters:

- `context_lines` (integer): 匹配行上下文行数。
- `line_count` (integer): 每次显示行数。
- `query` (string): 可选搜索字符串。
- `start_line` (integer): 起始行（0 = 从头）。
- `tab` (string): CDP short ID（空 = 当前激活 tab）。
- `url` (string, required): 脚本 URL。

Output parameters:

- `result` (string)

### `ved_trace_value` (~100 tokens)

Ved Trace Value

全局搜索一个值出现在哪些地方。

搜索范围: JS 源码 → 网络请求 → DOM 内嵌 → 渲染文本 → JS 变量 → WS。
每条匹配标注位置和上下文，支持直接设观测点。

Input parameters:

- `tab` (string): CDP short ID（空 = 当前激活 tab）。
- `value` (string, required): 要追踪的值（如 "userid"）。

Output parameters:

- `result` (string)

### `ved_scan` (~189 tokens)

Ved Scan

Comprehensive page data source scanner.

MODE "all" — full page scan (default):
  1\. Network APIs — requests captured by the event listener
  2\. DOM Structure — snapshot tree with repeated-container marks
  3\. Embedded JSON — script-tag / window-global data records

MODE "dom" — keyword-targeted DOM scan:
  Searches the in-memory DOM tree for the keyword.

Input parameters:

- `keyword`: For mode "dom" — search keyword.
- `limit` (integer): For mode "dom" — 本次返回条数（默认 30）。
- `mode` (string): "all" for full scan, "dom" for keyword-targeted DOM scan.
- `offset` (integer): For mode "dom" — 从第几处匹配开始（默认 0）。
- `url`: For mode "dom" — optional URL to open before scanning.

Output parameters:

- `result` (string)

### `ved_chain` (~706 tokens)

Ved Chain

工具链：一次把多个工具按顺序交给服务端连续执行。

解决 MCP 回合制的两个硬伤：
1\. **别错过** —— 动作与等待/取样在服务端紧挨着跑，中间不经过模型，
   瞬时事件（请求/日志/中间态/弹窗）不会被回合间隔吞掉。
2\. **给因果** —— 每个动作步骤自动算差分，报告里直接写"+3 requests: …"，
   AI 不用再靠"点前点后各取一次"去猜哪个请求是哪个动作触发的。

步骤（三种写法）：
  {"tool": "ved_act", "args": {"action": "click", "target": "下一页"}}
  {"wait": {"network": "**/joblist**", "timeout": 8}}
     wait 支持：ms / network（等指定请求出现）/ network_idle（网络静默）/ element(+state=visible|hidden)
  {"repeat": {"times": 5, "steps": [ ... ]}}          # 只允许一层，翻页用

典型链路（翻页抓接口：现在 12+ 回合 → 2 回合）：
  ved_chain(steps=[
    {"tool": "ved_open"},
    {"tool": "ved_goto", "args": {"url": "https://…"}},
    {"tool": "ved_watch", "args": {"observations": [{"type": "request", "pattern": "**/api/**"}]}},
    {"tool": "ved_act", "args": {"action": "click", "target": "下一页"}},
    {"wait": {"network_idle": 800, "timeout": 10}},
    {"tool": "ved_watch", "args": {"collect": True, "timeout": 10}},
  ])

行为约定：
  \- 撞上登录/验证/风控 → 停在该步；用户处理完用 ved_chain(resume="<id>:<步号>") 续跑，**不重放**前面动作
  \- 状态被工具之外改动（页面自跳 / 用户开标签页）→ 停，并说明原因
  \- 每步都过和单独调用时同一套门禁（链不是后门）
  \- 只允许既有工具里的动作/读取类；ved_close 与 ved_chain 自身禁用
  \- 上限：30 步 / repeat 20 次 / 单步 30s / 整链 300s
  \- 报告每步一行 + 因果差分，细节留服务端（用 ved_apis / ved_inspect / ved_watch(collect) 取）

Input parameters:

- `on_error` (string): "stop"（默认）或 "continue"。
- `resume` (string): "<chain_id>:<步号>" —— 从该步继续跑同一条链。
- `step_delay_ms` (integer): 步间基础延迟（毫秒，另加 0~50% 随机抖动，贴近人的交互节奏）。
- `steps`: 步骤列表。不传且 resume 为空时，列出最近执行过的链。

Output parameters:

- `result` (string)

## Diagnostics

Captured diagnostic sections: Provenance, Install scripts, Dependencies. The full working is on the page: https://verifymcp.io/servers/sanzineo-veddata/veddata#diagnostics

## Score history

- 2026-09-20: 70
- 2026-09-19: 70
- 2026-09-18: 69
- 2026-09-17: 54
- 2026-09-16: 50
- 2026-09-15: 50
- 2026-09-14: 65
- 2026-09-13: 50
- 2026-09-12: 50
- 2026-09-11: 50
- 2026-09-10: 50

## Common questions

### What is the veddata MCP server?

veddata is an MCP server listed in the public MCP registry as io.github.SanZiNEO/veddata. MCP server for AI agents: discover a web page's data sources and drive the page to reach them. This page covers its PyPI package (veddata).

### Is the veddata MCP server safe to use?

veddata scores 70 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 20 September 2026. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

### What tools does the veddata MCP server expose?

veddata exposes 30 tools: ved_open, ved_goto, ved_close, ved_tabs, ved_tab_switch, and 25 more. Their descriptions and schemas cost roughly 4,614 tokens of context every time the server is loaded.

### Is the veddata MCP server still maintained?

veddata is still listed as active in the MCP registry. We last reached this channel on 20 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

## Links

- PyPI project: https://pypi.org/project/veddata/
- Socket report: https://socket.dev/pypi/package/veddata
- Repository: https://github.com/SanZiNEO/veddata
- Changelog RSS feed: https://verifymcp.io/servers/sanzineo-veddata/veddata.xml
- Changelog JSON feed: https://verifymcp.io/servers/sanzineo-veddata/veddata.json
- HTML version of this page: https://verifymcp.io/servers/sanzineo-veddata/veddata
