# MAD Synapse · Web & Research (remote · agent.maddegen.art)

Read the web (page text, DNS, WHOIS, TLS, uptime) + research (Wikipedia, arXiv, GitHub, packages).

- Trust score: 66/100 (medium)
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-09-29

## Components

- remote · `agent.maddegen.art`: 66/100 (this document), [markdown](https://verifymcp.io/servers/art-maddegen-agent-synapse-web/hub-mcp-web.md), [page](https://verifymcp.io/servers/art-maddegen-agent-synapse-web/hub-mcp-web)

## Channel facts

- Endpoint: `https://agent.maddegen.art/hub/mcp/web`
- Transports: `streamable-http`
- Auth: `none`
- Version: `2.1.0`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, 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-29.

- **Endpoint Security**: 74/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - No authorisation is required to call this server. Every tool declares its destructiveHint and none is destructive, so open access doesn't expose one.
  - HTTPS is enforced; there's no plaintext access path.
  - HSTS check failed: the Strict-Transport-Security header is absent.
  - DNSSEC check failed: this domain isn't protected by DNSSEC.
- **Transport & Reachability**: 100/100
  - Verified streamable-http transport via a live MCP handshake.
- **Schema Quality & AI Usability**: 43/100
  - 0% of prompts and resources have a non-trivial description (not blank, and not just the item's name).
  - AI-judged instruction clarity (excellent).
  - Context-footprint check failed: tool/resource definitions use about 3195 tokens (~199/item across 16 items; 15 tools + 1 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 3/100
  - Stability observed for 1 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 100/100
  - 100% 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**: 100/100
  - No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.
  - We read all 15 captured tool definition(s), and no name or description among them implies an irreversible operation.
  - An AI judge read all 17 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 MAD Synapse · Web & Research MCP server?

MAD Synapse · Web & Research is a hosted endpoint at https://agent.maddegen.art/hub/mcp/web, so there is nothing to install locally. 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 --transport http art-maddegen-agent-synapse-web 'https://agent.maddegen.art/hub/mcp/web'
```

### Cursor

```json
{
  "mcpServers": {
    "art-maddegen-agent-synapse-web": {
      "url": "https://agent.maddegen.art/hub/mcp/web"
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "art-maddegen-agent-synapse-web": {
      "type": "http",
      "url": "https://agent.maddegen.art/hub/mcp/web"
    }
  }
}
```

### Codex

```toml
[mcp_servers.art-maddegen-agent-synapse-web]
url = "https://agent.maddegen.art/hub/mcp/web"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "art-maddegen-agent-synapse-web": {
      "type": "remote",
      "url": "https://agent.maddegen.art/hub/mcp/web",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add art-maddegen-agent-synapse-web --url 'https://agent.maddegen.art/hub/mcp/web' --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  art-maddegen-agent-synapse-web:
    url: "https://agent.maddegen.art/hub/mcp/web"
```

### Netclaw

```json
{
  "McpServers": {
    "art-maddegen-agent-synapse-web": {
      "Transport": "http",
      "Url": "https://agent.maddegen.art/hub/mcp/web"
    }
  }
}
```

### Vellum

```bash
assistant mcp add art-maddegen-agent-synapse-web -t streamable-http -u 'https://agent.maddegen.art/hub/mcp/web'
```

### Other

```json
{
  "mcpServers": {
    "art-maddegen-agent-synapse-web": {
      "type": "http",
      "url": "https://agent.maddegen.art/hub/mcp/web"
    }
  }
}
```

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

## 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-29 (score 66, +1)

- [functional improvement] Stability: unverified → 0.03

### 2026-09-28 (score 65)

First indexed and scored.

## MCP tools (15)

### `web_read` (~233 tokens)

Read a web page (clean markdown)

Any public URL → clean readable markdown: the article/main content without nav, ads or boilerplate, plus title, author, date, word count and links. PDFs too. Fetches the page (redirects followed, public internet only), extracts the main content with Mozilla Readability and converts it to markdown. PDFs are converted to text. Use max_chars to bound the output. JavaScript-only pages return whatever the server sends (no headless browser). When to use: For a page's content; for its metadata only use web_meta; for uptime/redirects use http_probe. Price: $0.002 per call (10 free/day; after that a payment-required result lists x402 options). Errors: returns isError with a message for invalid input or an upstream failure (not charged).

Input parameters:

- `include_links` (boolean): keep hyperlinks (absolute) in the markdown and return a link list. Default false.
- `max_chars` (integer): Truncate the returned markdown to this many characters. Range 500-100000. Default 20000.
- `url` (string, required): http(s) URL

Output parameters:

- `byline` (string|null)
- `excerpt` (string|null)
- `extracted_with` (string|null)
- `lang` (string|null)
- `markdown` (string|null)
- `published` (string|null)
- `site` (string|null)
- `status` (number|null)
- `title` (string|null)
- `truncated` (boolean|null)
- `type` (string|null)
- `url` (string|null)
- `words` (number|null)

### `web_meta` (~171 tokens)

Page metadata + link preview

Everything a page says about itself: title, description, OpenGraph/Twitter card, canonical, favicon, language, RSS/Atom feeds, JSON-LD schema types, headings — and link-preview problems. Use to build link previews, check SEO/social cards, find a site's feeds or structured data. Flags missing og:image, missing description and non-absolute image URLs (common reasons a link shows up bare on X/Telegram). When to use: For title/OpenGraph/canonical; for the article text use web_read. Price: $0.001 per call (10 free/day; after that a payment-required result lists x402 options). Errors: returns isError with a message for invalid input or an upstream failure (not charged).

Input parameters:

- `url` (string, required): Absolute http(s) URL of the page.

Output parameters:

- `apple_touch_icon`
- `canonical` (string|null)
- `description` (string|null)
- `favicon` (string|null)
- `feeds` (array)
- `h1` (array)
- `h2` (array)
- `json_ld_types` (array)
- `lang` (string|null)
- `link_preview_problems` (array)
- `manifest`
- `opengraph` (object|null)
- `robots`
- `status` (number|null)
- `title` (string|null)
- `twitter` (object|null)
- `url` (string|null)

### `dns_lookup` (~164 tokens)

DNS records + email security

All DNS for a domain — A, AAAA, CNAME, MX, NS, TXT, CAA, SOA — plus SPF and DMARC parsed and graded, so an agent knows where a domain points and whether its email can be spoofed. Queried live against public resolvers (Cloudflare, Google, Quad9). Email grade: SPF present and ending in -all/~all, DMARC present with p=quarantine/reject. When to use: For DNS records; for ownership dates use domain_whois; for certificates use tls_check. Price: free. Errors: returns isError with a message for invalid input or an upstream failure (not charged).

Input parameters:

- `domain` (string, required): Domain name without scheme, e.g. "example.com".

Output parameters:

- `a` (array)
- `aaaa` (array)
- `caa` (array)
- `cname` (array)
- `domain` (string|null)
- `email_security` (object|null)
- `mx` (array)
- `ns` (array)
- `resolves` (boolean|null)
- `soa` (object|null)
- `txt` (array)

### `domain_whois` (~176 tokens)

Domain WHOIS / RDAP + availability

Who registered a domain and when: registrar, creation/expiry dates, age, days to expiry, status locks, nameservers — or that it looks available to register. Uses RDAP, the registries' official successor to WHOIS (rdap.org bootstrap). A domain with no RDAP record and no DNS is reported as likely available. Young domains (< 30 days) are flagged: most phishing/scam sites are days old. When to use: For registration and expiry; for DNS records use dns_lookup. Price: $0.002 per call (10 free/day; after that a payment-required result lists x402 options). Errors: returns isError with a message for invalid input or an upstream failure (not charged).

Input parameters:

- `domain` (string, required): Registrable domain without scheme, e.g. "example.com".

Output parameters:

- `age_days` (number|null)
- `created` (string|null)
- `days_to_expiry` (number|null)
- `dnssec` (boolean|null)
- `domain` (string|null)
- `expires` (string|null)
- `nameservers` (array)
- `registered` (boolean|null)
- `registrant` (object|null)
- `registrar` (object|null)
- `source` (string|null)
- `status` (array)
- `updated` (string|null)
- `young_domain_warning` (boolean|null)

### `tls_check` (~146 tokens)

TLS certificate check

A site's TLS certificate: issuer, validity, days until expiry, SANs, protocol, cipher, chain and whether browsers trust it. Live TLS handshake to the host. Flags expired, expiring (< 14 days), untrusted or name-mismatched certificates. Price: $0.001 per call (10 free/day; after that a payment-required result lists x402 options). Errors: returns isError with a message for invalid input or an upstream failure (not charged).

Input parameters:

- `host` (string, required): Hostname without scheme or path, e.g. "example.com".
- `port` (integer): TCP port serving TLS. Range 1-65535. Default 443.

Output parameters:

- `alpn` (string|null)
- `chain` (array)
- `cipher` (string|null)
- `days_left` (number|null)
- `fingerprint_sha256` (string|null)
- `handshake_ms` (number|null)
- `host` (string|null)
- `issuer` (string|null)
- `issuer_cn` (string|null)
- `key_bits` (number|null)
- `ok` (boolean|null)
- `port` (number|null)
- `protocol` (string|null)
- `san` (array)
- `serial` (string|null)
- `subject` (string|null)
- `trust_error`
- `trusted` (boolean|null)
- `valid_from` (string|null)
- `valid_to` (string|null)
- `warnings` (array)

### `http_probe` (~181 tokens)

HTTP probe + security headers

Is a site up and how is it served: status, full redirect chain, timings (DNS/TLS/first byte/total), server, CDN, caching, compression, and a graded security-header check (HSTS, CSP, frame, sniffing…). One real GET from our server. The security grade counts HSTS, Content-Security-Policy, X-Frame-Options/frame-ancestors, X-Content-Type-Options, Referrer-Policy and Permissions-Policy. When to use: For availability, status and timings; for page content use web_read. Price: $0.001 per call (10 free/day; after that a payment-required result lists x402 options). Errors: returns isError with a message for invalid input or an upstream failure (not charged).

Input parameters:

- `url` (string, required): Absolute http(s) URL to probe.

Output parameters:

- `bytes` (number|null)
- `cache_control`
- `cdn` (string|null)
- `compressed` (boolean|null)
- `content_type` (string|null)
- `final_url` (string|null)
- `http_tls` (object|null)
- `powered_by`
- `redirects` (array)
- `remote_ip` (string|null)
- `security_headers` (object|null)
- `server` (string|null)
- `status` (number|null)
- `timing_ms` (object|null)
- `up` (boolean|null)
- `url` (string|null)

### `robots_check` (~169 tokens)

robots.txt + AI crawler policy

May I crawl this? Checks a URL against the site's robots.txt for any user-agent, lists sitemaps and crawl-delay, and reports which AI crawlers (GPTBot, ClaudeBot, PerplexityBot, Google-Extended…) the site blocks. Standard robots.txt matching (longest match wins, Allow beats Disallow on ties, * and $ wildcards). Missing robots.txt = everything allowed. Price: $0.001 per call (10 free/day; after that a payment-required result lists x402 options). Errors: returns isError with a message for invalid input or an upstream failure (not charged).

Input parameters:

- `url` (string, required): Absolute URL you intend to crawl.
- `user_agent` (string): User-agent token to evaluate the rules for. Default "MAD-Synapse".

Output parameters:

- `ai_crawlers_site_root` (object|null)
- `allowed` (boolean|null)
- `crawl_delay`
- `groups` (number|null)
- `matched_group` (string|null)
- `path` (string|null)
- `robots_txt` (string|null)
- `rule` (string|null)
- `sitemaps` (array)
- `url` (string|null)
- `user_agent` (string|null)

### `email_check` (~134 tokens)

Email address check

Will this email address work? Syntax, domain MX records, disposable/throwaway provider detection, role address (info@, admin@) and free-mail provider — without sending anything. No SMTP probing (that gets servers blacklisted); the verdict is from syntax, live MX lookup and a maintained list of ~100k disposable domains. Price: $0.001 per call (10 free/day; after that a payment-required result lists x402 options). Errors: returns isError with a message for invalid input or an upstream failure (not charged).

Input parameters:

- `email` (string, required): Email address to check. No mail is sent.

Output parameters:

- `accepts_mail` (boolean|null)
- `disposable` (boolean|null)
- `domain` (string|null)
- `email` (string|null)
- `free_provider` (boolean|null)
- `mx` (array)
- `role_address` (boolean|null)
- `valid_syntax` (boolean|null)
- `verdict` (string|null)

### `wiki` (~206 tokens)

Wikipedia lookup

Wikipedia in any language: search a topic and get the best article's summary, description, thumbnail and link — or the full article text. Search + REST summary from Wikipedia. full=true returns the article as plain text (sections kept), capped by max_chars. Disambiguation pages are flagged with alternatives. When to use: For encyclopedic topics; for papers use arxiv_search or doi_lookup. Price: free. Errors: returns isError with a message for invalid input or an upstream failure (not charged).

Input parameters:

- `full` (boolean): true = return the full article text, not just the summary. Default false.
- `lang` (string): Wikipedia language code, e.g. "en", "de", "pt-br". Default "en".
- `max_chars` (integer): Truncate full article text to this many characters (with full=true). Range 500-60000. Default 8000.
- `query` (string, required): Topic or article title to look up.

Output parameters:

- `description`
- `found` (boolean|null)
- `last_edited` (string|null)
- `other_matches` (array)
- `summary` (string|null)
- `thumbnail` (string|null)
- `title` (string|null)
- `type` (string|null)
- `url` (string|null)

### `arxiv_search` (~217 tokens)

arXiv paper search

Search arXiv research papers by keywords, author or category — newest or most relevant — with abstracts, authors, dates and PDF links. arXiv's official API. query supports arXiv syntax (ti:, au:, abs:, cat:cs.AI, AND/OR). Paced to arXiv's one-request-per-3-seconds policy and cached, so repeated queries are instant. Price: $0.001 per call (10 free/day; after that a payment-required result lists x402 options). Errors: returns isError with a message for invalid input or an upstream failure (not charged).

Input parameters:

- `limit` (integer): How many papers to return. Range 1-30. Default 10.
- `query` (string, required): e.g. "tool use agents" or au:hinton or cat:cs.CL AND ti:reasoning
- `sort` (string): Order by relevance to the query or by submission date. One of "relevance", "newest". Default "relevance".

Output parameters:

- `papers` (array)
- `query` (string|null)
- `total_results` (number|null)

### `package_info` (~213 tokens)

Software package info

Any npm, PyPI or crates.io package: latest version and release date, license, downloads, maintainers, repo, dependency count, deprecation — to pick or vet a dependency. Straight from each registry (plus npm and pypistats download counts). Flags deprecated packages and ones with no release in 2+ years. When to use: For package metadata; for known vulnerabilities in a version use vuln_check (on the MAD Synapse · Wallets & Risk server, https://agent.maddegen.art/hub/mcp/risk). Price: $0.001 per call (10 free/day; after that a payment-required result lists x402 options). Errors: returns isError with a message for invalid input or an upstream failure (not charged).

Input parameters:

- `ecosystem` (string): Registry to look in. One of "npm", "pypi", "crates". Default "npm".
- `name` (string, required): Exact package name as published, e.g. "express" or "requests".

Output parameters:

- `dependencies` (number|null)
- `deprecated`
- `description` (string|null)
- `ecosystem` (string|null)
- `homepage` (string|null)
- `latest` (string|null)
- `license` (string|null)
- `maintainers` (array)
- `name` (string|null)
- `released` (string|null)
- `repository` (string|null)
- `stale`
- `url` (string|null)
- `versions` (number|null)
- `weekly_downloads` (number|null)

### `github_repo` (~129 tokens)

GitHub repo health

A GitHub repository at a glance: stars, forks, open issues, last commit, latest release, license, languages, contributors, archived — is it alive and trustworthy? From the GitHub REST API. "activity" summarizes days since last push and last release so an agent can judge whether a project is maintained. Price: $0.002 per call (10 free/day; after that a payment-required result lists x402 options). Errors: returns isError with a message for invalid input or an upstream failure (not charged).

Input parameters:

- `repo` (string, required): owner/name or a github.com URL

Output parameters:

- `activity` (object|null)
- `archived` (boolean|null)
- `created` (string|null)
- `default_branch` (string|null)
- `description` (string|null)
- `forks` (number|null)
- `homepage` (string|null)
- `is_fork` (boolean|null)
- `languages_pct` (object|null)
- `last_push` (string|null)
- `latest_release` (object|null)
- `license` (string|null)
- `open_issues_and_prs` (number|null)
- `parent`
- `repo` (string|null)
- `stars` (number|null)
- `top_contributors` (array)
- `topics` (array)
- `url` (string|null)
- `watchers` (number|null)

### `hn_search` (~255 tokens)

Hacker News search

Search Hacker News stories and comments by keyword, sorted by relevance or date, filtered by time window and minimum points — what developers are saying about anything. Algolia's official HN search. Returns title, url, points, comment count, author, date and the HN discussion link. Price: $0.001 per call (10 free/day; after that a payment-required result lists x402 options). Errors: returns isError with a message for invalid input or an upstream failure (not charged).

Input parameters:

- `days` (integer): Only items from the last N days. Range 1-3650. Default 365.
- `limit` (integer): How many results to return. Range 1-50. Default 15.
- `min_points` (integer): Only items with at least this many points. Default 0.
- `query` (string, required): Keywords to search for.
- `sort` (string): Order by relevance or newest first. One of "relevance", "date". Default "relevance".
- `type` (string): Stories, comments, Show HN or Ask HN posts. One of "story", "comment", "show_hn", "ask_hn". Default "story".

Output parameters:

- `query` (string|null)
- `results` (array)
- `total` (number|null)

### `doi_lookup` (~199 tokens)

Citation / DOI lookup

Resolve a DOI — or search a paper title — to full citation metadata: title, authors, journal, year, citations count, publisher, license, and a ready-made APA/BibTeX citation. Crossref's open metadata (150M+ works). Search mode returns the top matches for a title/author query. When to use: For citation metadata of a known paper; to search preprints by topic use arxiv_search. Price: $0.001 per call (10 free/day; after that a payment-required result lists x402 options). Errors: returns isError with a message for invalid input or an upstream failure (not charged).

Input parameters:

- `doi` (string): e.g. 10.1038/nature14539
- `limit` (integer): How many matches to return when searching by title. Range 1-20. Default 5.
- `query` (string): title/author search instead of a DOI

Output parameters:

- `apa` (string|null)
- `authors` (array)
- `bibtex` (string|null)
- `cited_by` (number|null)
- `doi` (string|null)
- `found` (boolean|null)
- `issue` (string|null)
- `journal` (string|null)
- `license` (string|null)
- `pages` (string|null)
- `publisher` (string|null)
- `references` (number|null)
- `title` (string|null)
- `type` (string|null)
- `url` (string|null)
- `volume` (string|null)
- `year` (number|null)

### `book_search` (~129 tokens)

Book search

Find books by title, author, subject or ISBN: first published year, editions, ISBNs, page count, ratings, subjects and cover image. Open Library (Internet Archive) catalogue of 30M+ titles. Price: $0.001 per call (10 free/day; after that a payment-required result lists x402 options). Errors: returns isError with a message for invalid input or an upstream failure (not charged).

Input parameters:

- `limit` (integer): How many books to return. Range 1-20. Default 5.
- `query` (string, required): title, author or ISBN

Output parameters:

- `books` (array)
- `total` (number|null)

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/art-maddegen-agent-synapse-web/hub-mcp-web#diagnostics

## Score history

- 2026-09-29: 66
- 2026-09-28: 65

## Common questions

### What is the MAD Synapse · Web & Research MCP server?

MAD Synapse · Web & Research is an MCP server listed in the public MCP registry as art.maddegen.agent/synapse-web. Read the web (page text, DNS, WHOIS, TLS, uptime) + research (Wikipedia, arXiv, GitHub, packages). This page covers its hosted endpoint (https://agent.maddegen.art/hub/mcp/web).

### Is the MAD Synapse · Web & Research MCP server safe to use?

MAD Synapse · Web & Research scores 66 out of 100 on VerifyMCP. 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 MAD Synapse · Web & Research MCP server expose?

MAD Synapse · Web & Research exposes 15 tools: web_read, web_meta, dns_lookup, domain_whois, tls_check, and 10 more. Their descriptions and schemas cost roughly 2,722 tokens of context every time the server is loaded.

### Does the MAD Synapse · Web & Research MCP server require authentication?

No. We connected to MAD Synapse · Web & Research without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.

### Is the MAD Synapse · Web & Research MCP server still maintained?

MAD Synapse · Web & Research is still listed as active in the MCP registry. We last reached this channel on 29 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

## Links

- Remote endpoint: https://agent.maddegen.art/hub/mcp/web
- Website: https://agent.maddegen.art/hub
- Changelog RSS feed: https://verifymcp.io/servers/art-maddegen-agent-synapse-web/hub-mcp-web.xml
- Changelog JSON feed: https://verifymcp.io/servers/art-maddegen-agent-synapse-web/hub-mcp-web.json
- HTML version of this page: https://verifymcp.io/servers/art-maddegen-agent-synapse-web/hub-mcp-web
