MAD Synapse · Web & Research

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

사용해야 할까요

품질 및 안전성

A
설명 품질
100%
스키마 완전성
99%
이름 품질
80%
오염 위험
60%
권한 일치
100%
프로토콜 준수
100%

발견 사항 (3)

  • HIGHTool poisoning patterns detected
  • MEDIUMTool description contains URL to non-standard domainpackage_info에서
  • INFOTool description contains placeholder or incomplete texthn_search에서

도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.

컨텍스트 비용

~7,065토큰 (도구 정의)
~3.4 KB일반적인 응답 크기
상당한 주의 영향 (128k 컨텍스트의 5.52%)

이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.

설치

원클릭 설치

`claude_desktop_config.json` 파일에 다음을 추가하세요:

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

원격 엔드포인트

https://agent.maddegen.art/hub/mcp/webstreamable-http

할 수 있는 일

도구 목록

도구 (15)

🟢 읽기 전용🟡 쓰기🔴 삭제⚪ 알 수 없음
🟢web_read(url, max_chars, include_links)

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).

입력 스키마

{
  "type": "object",
  "properties": {
    "url": {
      "type": "string",
      "description": "http(s) URL"
    },
    "max_chars": {
      "type": "integer",
      "minimum": 500,
      "maximum": 100000,
      "default": 20000,
      "description": "Truncate the returned markdown to this many characters. Range 500-100000. Default 20000."
    },
    "include_links": {
      "type": "boolean",
      "default": false,
      "description": "keep hyperlinks (absolute) in the markdown and return a link list. Default false."
    }
  },
  "required": [
    "url"
  ],
  "additionalProperties": false
}

출력 스키마

{
  "type": "object",
  "properties": {
    "url": {
      "type": [
        "string",
        "null"
      ]
    },
    "status": {
      "type": [
        "number",
        "null"
      ]
    },
    "type": {
      "type": [
        "string",
        "null"
      ]
    },
    "title": {
      "type": [
        "string",
        "null"
      ]
    },
    "byline": {
      "type": [
        "string",
        "null"
      ]
    },
    "site": {
      "type": [
        "string",
        "null"
      ]
    },
    "published": {
      "type": [
        "string",
        "null"
      ]
    },
    "lang": {
      "type": [
        "string",
        "null"
      ]
    },
    "excerpt": {
      "type": [
        "string",
        "null"
      ]
    },
    "words": {
      "type": [
        "number",
        "null"
      ]
    },
    "truncated": {
      "type": [
        "boolean",
        "null"
      ]
    },
    "markdown": {
      "type": [
        "string",
        "null"
      ]
    },
    "extracted_with": {
      "type": [
        "string",
        "null"
      ]
    }
  }
}
🟢web_meta(url)

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).

입력 스키마

{
  "type": "object",
  "properties": {
    "url": {
      "type": "string",
      "description": "Absolute http(s) URL of the page."
    }
  },
  "required": [
    "url"
  ],
  "additionalProperties": false
}

출력 스키마

{
  "type": "object",
  "properties": {
    "url": {
      "type": [
        "string",
        "null"
      ]
    },
    "status": {
      "type": [
        "number",
        "null"
      ]
    },
    "title": {
      "type": [
        "string",
        "null"
      ]
    },
    "description": {
      "type": [
        "string",
        "null"
      ]
    },
    "canonical": {
      "type": [
        "string",
        "null"
      ]
    },
    "lang": {
      "type": [
        "string",
        "null"
      ]
    },
    "favicon": {
      "type": [
        "string",
        "null"
      ]
    },
    "apple_touch_icon": {},
    "manifest": {},
    "robots": {},
    "opengraph": {
      "type": [
        "object",
        "null"
      ],
      "properties": {
        "og:type": {
          "type": [
            "string",
            "null"
          ]
        },
        "og:title": {
          "type": [
            "string",
            "null"
          ]
        },
        "og:description": {
          "type": [
            "string",
            "null"
          ]
        },
        "og:url": {
          "type": [
            "string",
            "null"
          ]
        },
        "og:image": {
          "type": [
            "string",
            "null"
          ]
        }
      }
    },
    "twitter": {
      "type": [
        "object",
        "null"
      ],
      "properties": {
        "twitter:card": {
          "type": [
            "string",
            "null"
          ]
        },
        "twitter:site": {
          "type": [
            "string",
            "null"
          ]
        },
        "twitter:image": {
          "type": [
            "string",
            "null"
          ]
        }
      }
    },
    "feeds": {
      "type": "array"
    },
    "json_ld_types": {
      "type": "array",
      "items": {
        "type": [
          "string",
          "null"
        ]
      }
    },
    "h1": {
      "type": "array",
      "items": {
        "type": [
          "string",
          "null"
        ]
      }
    },
    "h2": {
      "type": "array",
      "items": {
        "type": [
          "string",
          "null"
        ]
      }
    },
    "link_preview_problems": {
      "type": "array"
    }
  }
}
🟢dns_lookup(domain)

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).

입력 스키마

{
  "type": "object",
  "properties": {
    "domain": {
      "type": "string",
      "description": "Domain name without scheme, e.g. \"example.com\"."
    }
  },
  "required": [
    "domain"
  ],
  "additionalProperties": false
}

출력 스키마

{
  "type": "object",
  "properties": {
    "domain": {
      "type": [
        "string",
        "null"
      ]
    },
    "resolves": {
      "type": [
        "boolean",
        "null"
      ]
    },
    "a": {
      "type": "array",
      "items": {
        "type": [
          "string",
          "null"
        ]
      }
    },
    "aaaa": {
      "type": "array"
    },
    "cname": {
      "type": "array"
    },
    "mx": {
      "type": "array",
      "items": {
        "type": [
          "object",
          "null"
        ],
        "properties": {
          "exchange": {
            "type": [
              "string",
              "null"
            ]
          },
          "priority": {
            "type": [
              "number",
              "null"
            ]
          }
        }
      }
    },
    "ns": {
      "type": "array",
      "items": {
        "type": [
          "string",
          "null"
        ]
      }
    },
    "txt": {
      "type": "array",
      "items": {
        "type": [
          "string",
          "null"
        ]
      }
    },
    "caa": {
      "type": "array",
      "items": {
        "type": [
          "object",
          "null"
        ],
        "properties": {
          "critical": {
            "type": [
              "number",
              "null"
            ]
          },
          "issue": {
            "type": [
              "string",
              "null"
            ]
          },
          "issuewild": {
            "type": [
              "string",
              "null"
            ]
          }
        }
      }
    },
    "soa": {
      "type": [
        "object",
        "null"
      ],
      "properties": {
        "nsname": {
          "type": [
            "string",
            "null"
          ]
        },
        "hostmaster": {
          "type": [
            "string",
            "null"
          ]
        },
        "serial": {
          "type": [
            "number",
            "null"
          ]
        },
        "refresh": {
          "type": [
            "number",
            "null"
          ]
        },
        "retry": {
          "type": [
            "number",
            "null"
          ]
        },
        "expire": {
          "type": [
            "number",
            "null"
          ]
        },
        "minttl": {
          "type": [
            "number",
            "null"
          ]
        }
      }
    },
    "email_security": {
      "type": [
        "object",
        "null"
      ],
      "properties": {
        "grade": {
          "type": [
            "string",
            "null"
          ]
        },
        "spf": {
          "type": [
            "string",
            "null"
          ]
        },
        "dmarc": {
          "type": [
            "string",
            "null"
          ]
        },
        "dmarc_policy": {
          "type": [
            "string",
            "null"
          ]
        },
        "issues": {
          "type": "array"
        }
      }
    }
  }
}
🟢domain_whois(domain)

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).

입력 스키마

{
  "type": "object",
  "properties": {
    "domain": {
      "type": "string",
      "description": "Registrable domain without scheme, e.g. \"example.com\"."
    }
  },
  "required": [
    "domain"
  ],
  "additionalProperties": false
}

출력 스키마

{
  "type": "object",
  "properties": {
    "domain": {
      "type": [
        "string",
        "null"
      ]
    },
    "registered": {
      "type": [
        "boolean",
        "null"
      ]
    },
    "registrar": {
      "type": [
        "object",
        "null"
      ],
      "properties": {
        "name": {
          "type": [
            "string",
            "null"
          ]
        },
        "iana_id": {
          "type": [
            "string",
            "null"
          ]
        }
      }
    },
    "created": {
      "type": [
        "string",
        "null"
      ]
    },
    "updated": {
      "type": [
        "string",
        "null"
      ]
    },
    "expires": {
      "type": [
        "string",
        "null"
      ]
    },
    "age_days": {
      "type": [
        "number",
        "null"
      ]
    },
    "days_to_expiry": {
      "type": [
        "number",
        "null"
      ]
    },
    "young_domain_warning": {
      "type": [
        "boolean",
        "null"
      ]
    },
    "status": {
      "type": "array",
      "items": {
        "type": [
          "string",
          "null"
        ]
      }
    },
    "nameservers": {
      "type": "array",
      "items": {
        "type": [
          "string",
          "null"
        ]
      }
    },
    "dnssec": {
      "type": [
        "boolean",
        "null"
      ]
    },
    "registrant": {
      "type": [
        "object",
        "null"
      ],
      "properties": {
        "name": {
          "type": [
            "string",
            "null"
          ]
        },
        "iana_id": {}
      }
    },
    "source": {
      "type": [
        "string",
        "null"
      ]
    }
  }
}
🟢tls_check(host, port)

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).

입력 스키마

{
  "type": "object",
  "properties": {
    "host": {
      "type": "string",
      "description": "Hostname without scheme or path, e.g. \"example.com\"."
    },
    "port": {
      "type": "integer",
      "minimum": 1,
      "maximum": 65535,
      "default": 443,
      "description": "TCP port serving TLS. Range 1-65535. Default 443."
    }
  },
  "required": [
    "host"
  ],
  "additionalProperties": false
}

출력 스키마

{
  "type": "object",
  "properties": {
    "host": {
      "type": [
        "string",
        "null"
      ]
    },
    "port": {
      "type": [
        "number",
        "null"
      ]
    },
    "handshake_ms": {
      "type": [
        "number",
        "null"
      ]
    },
    "protocol": {
      "type": [
        "string",
        "null"
      ]
    },
    "cipher": {
      "type": [
        "string",
        "null"
      ]
    },
    "alpn": {
      "type": [
        "string",
        "null"
      ]
    },
    "trusted": {
      "type": [
        "boolean",
        "null"
      ]
    },
    "trust_error": {},
    "subject": {
      "type": [
        "string",
        "null"
      ]
    },
    "issuer": {
      "type": [
        "string",
        "null"
      ]
    },
    "issuer_cn": {
      "type": [
        "string",
        "null"
      ]
    },
    "valid_from": {
      "type": [
        "string",
        "null"
      ]
    },
    "valid_to": {
      "type": [
        "string",
        "null"
      ]
    },
    "days_left": {
      "type": [
        "number",
        "null"
      ]
    },
    "san": {
      "type": "array",
      "items": {
        "type": [
          "string",
          "null"
        ]
      }
    },
    "serial": {
      "type": [
        "string",
        "null"
      ]
    },
    "fingerprint_sha256": {
      "type": [
        "string",
        "null"
      ]
    },
    "key_bits": {
      "type": [
        "number",
        "null"
      ]
    },
    "chain": {
      "type": "array",
      "items": {
        "type": [
          "object",
          "null"
        ],
        "properties": {
          "subject": {
            "type": [
              "string",
              "null"
            ]
          },
          "issuer": {
            "type": [
              "string",
              "null"
            ]
          },
          "valid_to": {
            "type": [
              "string",
              "null"
            ]
          }
        }
      }
    },
    "warnings": {
      "type": "array"
    },
    "ok": {
      "type": [
        "boolean",
        "null"
      ]
    }
  }
}
🟢http_probe(url)

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).

입력 스키마

{
  "type": "object",
  "properties": {
    "url": {
      "type": "string",
      "description": "Absolute http(s) URL to probe."
    }
  },
  "required": [
    "url"
  ],
  "additionalProperties": false
}

출력 스키마

{
  "type": "object",
  "properties": {
    "url": {
      "type": [
        "string",
        "null"
      ]
    },
    "final_url": {
      "type": [
        "string",
        "null"
      ]
    },
    "up": {
      "type": [
        "boolean",
        "null"
      ]
    },
    "status": {
      "type": [
        "number",
        "null"
      ]
    },
    "redirects": {
      "type": "array",
      "items": {
        "type": [
          "object",
          "null"
        ],
        "properties": {
          "url": {
            "type": [
              "string",
              "null"
            ]
          },
          "status": {
            "type": [
              "number",
              "null"
            ]
          },
          "ms": {
            "type": [
              "number",
              "null"
            ]
          }
        }
      }
    },
    "timing_ms": {
      "type": [
        "object",
        "null"
      ],
      "properties": {
        "dns_connect": {
          "type": [
            "number",
            "null"
          ]
        },
        "tls": {
          "type": [
            "number",
            "null"
          ]
        },
        "first_byte": {
          "type": [
            "number",
            "null"
          ]
        },
        "total": {
          "type": [
            "number",
            "null"
          ]
        }
      }
    },
    "server": {
      "type": [
        "string",
        "null"
      ]
    },
    "powered_by": {},
    "cdn": {
      "type": [
        "string",
        "null"
      ]
    },
    "remote_ip": {
      "type": [
        "string",
        "null"
      ]
    },
    "content_type": {
      "type": [
        "string",
        "null"
      ]
    },
    "bytes": {
      "type": [
        "number",
        "null"
      ]
    },
    "compressed": {
      "type": [
        "boolean",
        "null"
      ]
    },
    "cache_control": {},
    "http_tls": {
      "type": [
        "object",
        "null"
      ],
      "properties": {
        "protocol": {
          "type": [
            "string",
            "null"
          ]
        },
        "cipher": {
          "type": [
            "string",
            "null"
          ]
        },
        "authorized": {
          "type": [
            "boolean",
            "null"
          ]
        },
        "subject": {
          "type": [
            "string",
            "null"
          ]
        },
        "issuer": {
          "type": [
            "string",
            "null"
          ]
        },
        "valid_to": {
          "type": [
            "string",
            "null"
          ]
        }
      }
    },
    "security_headers": {
      "type": [
        "object",
        "null"
      ],
      "properties": {
        "hsts": {
          "type": [
            "boolean",
            "null"
          ]
        },
        "csp": {
          "type": [
            "boolean",
            "null"
          ]
        },
        "frame_protection": {
          "type": [
            "boolean",
            "null"
          ]
        },
        "nosniff": {
          "type": [
            "boolean",
            "null"
          ]
        },
        "referrer_policy": {
          "type": [
            "boolean",
            "null"
          ]
        },
        "permissions_policy": {
          "type": [
            "boolean",
            "null"
          ]
        },
        "grade": {
          "type": [
            "string",
            "null"
          ]
        }
      }
    }
  }
}
🟢robots_check(url, user_agent)

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).

입력 스키마

{
  "type": "object",
  "properties": {
    "url": {
      "type": "string",
      "description": "Absolute URL you intend to crawl."
    },
    "user_agent": {
      "type": "string",
      "default": "MAD-Synapse",
      "description": "User-agent token to evaluate the rules for. Default \"MAD-Synapse\"."
    }
  },
  "required": [
    "url"
  ],
  "additionalProperties": false
}

출력 스키마

{
  "type": "object",
  "properties": {
    "url": {
      "type": [
        "string",
        "null"
      ]
    },
    "robots_txt": {
      "type": [
        "string",
        "null"
      ]
    },
    "user_agent": {
      "type": [
        "string",
        "null"
      ]
    },
    "path": {
      "type": [
        "string",
        "null"
      ]
    },
    "allowed": {
      "type": [
        "boolean",
        "null"
      ]
    },
    "matched_group": {
      "type": [
        "string",
        "null"
      ]
    },
    "rule": {
      "type": [
        "string",
        "null"
      ]
    },
    "crawl_delay": {},
    "sitemaps": {
      "type": "array",
      "items": {
        "type": [
          "string",
          "null"
        ]
      }
    },
    "ai_crawlers_site_root": {
      "type": [
        "object",
        "null"
      ],
      "properties": {
        "GPTBot": {
          "type": [
            "string",
            "null"
          ]
        },
        "ChatGPT-User": {
          "type": [
            "string",
            "null"
          ]
        },
        "OAI-SearchBot": {
          "type": [
            "string",
            "null"
          ]
        },
        "ClaudeBot": {
          "type": [
            "string",
            "null"
          ]
        },
        "Claude-User": {
          "type": [
            "string",
            "null"
          ]
        },
        "Claude-SearchBot": {
          "type": [
            "string",
            "null"
          ]
        },
        "anthropic-ai": {
          "type": [
            "string",
            "null"
          ]
        },
        "Google-Extended": {
          "type": [
            "string",
            "null"
          ]
        },
        "PerplexityBot": {
          "type": [
            "string",
            "null"
          ]
        },
        "Perplexity-User": {
          "type": [
            "string",
            "null"
          ]
        },
        "CCBot": {
          "type": [
            "string",
            "null"
          ]
        },
        "Bytespider": {
          "type": [
            "string",
            "null"
          ]
        },
        "Applebot-Extended": {
          "type": [
            "string",
            "null"
          ]
        },
        "Meta-ExternalAgent": {
          "type": [
            "string",
            "null"
          ]
        },
        "Amazonbot": {
          "type": [
            "string",
            "null"
          ]
        },
        "cohere-ai": {
          "type": [
            "string",
            "null"
          ]
        },
        "Diffbot": {
          "type": [
            "string",
            "null"
          ]
        },
        "DuckAssistBot": {
          "type": [
            "string",
            "null"
          ]
        },
        "MistralAI-User": {
          "type": [
            "string",
            "null"
          ]
        }
      }
    },
    "groups": {
      "type": [
        "number",
        "null"
      ]
    }
  }
}
🟢email_check(email)

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).

입력 스키마

{
  "type": "object",
  "properties": {
    "email": {
      "type": "string",
      "description": "Email address to check. No mail is sent."
    }
  },
  "required": [
    "email"
  ],
  "additionalProperties": false
}

출력 스키마

{
  "type": "object",
  "properties": {
    "email": {
      "type": [
        "string",
        "null"
      ]
    },
    "valid_syntax": {
      "type": [
        "boolean",
        "null"
      ]
    },
    "domain": {
      "type": [
        "string",
        "null"
      ]
    },
    "mx": {
      "type": "array",
      "items": {
        "type": [
          "object",
          "null"
        ],
        "properties": {
          "exchange": {
            "type": [
              "string",
              "null"
            ]
          },
          "priority": {
            "type": [
              "number",
              "null"
            ]
          }
        }
      }
    },
    "accepts_mail": {
      "type": [
        "boolean",
        "null"
      ]
    },
    "disposable": {
      "type": [
        "boolean",
        "null"
      ]
    },
    "role_address": {
      "type": [
        "boolean",
        "null"
      ]
    },
    "free_provider": {
      "type": [
        "boolean",
        "null"
      ]
    },
    "verdict": {
      "type": [
        "string",
        "null"
      ]
    }
  }
}
🟢wiki(query, lang, full, max_chars)

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).

입력 스키마

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "description": "Topic or article title to look up."
    },
    "lang": {
      "type": "string",
      "pattern": "^[a-z]{2,3}(-[a-z]+)?$",
      "default": "en",
      "description": "Wikipedia language code, e.g. \"en\", \"de\", \"pt-br\". Default \"en\"."
    },
    "full": {
      "type": "boolean",
      "default": false,
      "description": "true = return the full article text, not just the summary. Default false."
    },
    "max_chars": {
      "type": "integer",
      "minimum": 500,
      "maximum": 60000,
      "default": 8000,
      "description": "Truncate full article text to this many characters (with full=true). Range 500-60000. Default 8000."
    }
  },
  "required": [
    "query"
  ],
  "additionalProperties": false
}

출력 스키마

{
  "type": "object",
  "properties": {
    "found": {
      "type": [
        "boolean",
        "null"
      ]
    },
    "title": {
      "type": [
        "string",
        "null"
      ]
    },
    "description": {},
    "summary": {
      "type": [
        "string",
        "null"
      ]
    },
    "type": {
      "type": [
        "string",
        "null"
      ]
    },
    "url": {
      "type": [
        "string",
        "null"
      ]
    },
    "thumbnail": {
      "type": [
        "string",
        "null"
      ]
    },
    "last_edited": {
      "type": [
        "string",
        "null"
      ]
    },
    "other_matches": {
      "type": "array",
      "items": {
        "type": [
          "object",
          "null"
        ],
        "properties": {
          "title": {
            "type": [
              "string",
              "null"
            ]
          },
          "snippet": {
            "type": [
              "string",
              "null"
            ]
          }
        }
      }
    }
  }
}
🟢arxiv_search(query, sort, limit)

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).

입력 스키마

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "description": "e.g. \"tool use agents\" or au:hinton or cat:cs.CL AND ti:reasoning"
    },
    "sort": {
      "type": "string",
      "enum": [
        "relevance",
        "newest"
      ],
      "default": "relevance",
      "description": "Order by relevance to the query or by submission date. One of \"relevance\", \"newest\". Default \"relevance\"."
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 30,
      "default": 10,
      "description": "How many papers to return. Range 1-30. Default 10."
    }
  },
  "required": [
    "query"
  ],
  "additionalProperties": false
}

출력 스키마

{
  "type": "object",
  "properties": {
    "query": {
      "type": [
        "string",
        "null"
      ]
    },
    "total_results": {
      "type": [
        "number",
        "null"
      ]
    },
    "papers": {
      "type": "array",
      "items": {
        "type": [
          "object",
          "null"
        ],
        "properties": {
          "id": {
            "type": [
              "string",
              "null"
            ]
          },
          "title": {
            "type": [
              "string",
              "null"
            ]
          },
          "authors": {
            "type": "array"
          },
          "published": {
            "type": [
              "string",
              "null"
            ]
          },
          "updated": {
            "type": [
              "string",
              "null"
            ]
          },
          "categories": {
            "type": "array"
          },
          "abstract": {
            "type": [
              "string",
              "null"
            ]
          },
          "url": {
            "type": [
              "string",
              "null"
            ]
          },
          "pdf": {
            "type": [
              "string",
              "null"
            ]
          }
        }
      }
    }
  }
}
🟢package_info(name, ecosystem)

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).

입력 스키마

{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "description": "Exact package name as published, e.g. \"express\" or \"requests\"."
    },
    "ecosystem": {
      "type": "string",
      "enum": [
        "npm",
        "pypi",
        "crates"
      ],
      "default": "npm",
      "description": "Registry to look in. One of \"npm\", \"pypi\", \"crates\". Default \"npm\"."
    }
  },
  "required": [
    "name"
  ],
  "additionalProperties": false
}

출력 스키마

{
  "type": "object",
  "properties": {
    "ecosystem": {
      "type": [
        "string",
        "null"
      ]
    },
    "name": {
      "type": [
        "string",
        "null"
      ]
    },
    "latest": {
      "type": [
        "string",
        "null"
      ]
    },
    "released": {
      "type": [
        "string",
        "null"
      ]
    },
    "description": {
      "type": [
        "string",
        "null"
      ]
    },
    "license": {
      "type": [
        "string",
        "null"
      ]
    },
    "deprecated": {},
    "weekly_downloads": {
      "type": [
        "number",
        "null"
      ]
    },
    "versions": {
      "type": [
        "number",
        "null"
      ]
    },
    "dependencies": {
      "type": [
        "number",
        "null"
      ]
    },
    "repository": {
      "type": [
        "string",
        "null"
      ]
    },
    "homepage": {
      "type": [
        "string",
        "null"
      ]
    },
    "maintainers": {
      "type": "array",
      "items": {
        "type": [
          "string",
          "null"
        ]
      }
    },
    "stale": {},
    "url": {
      "type": [
        "string",
        "null"
      ]
    }
  }
}
🟢github_repo(repo)

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).

입력 스키마

{
  "type": "object",
  "properties": {
    "repo": {
      "type": "string",
      "description": "owner/name or a github.com URL"
    }
  },
  "required": [
    "repo"
  ],
  "additionalProperties": false
}

출력 스키마

{
  "type": "object",
  "properties": {
    "repo": {
      "type": [
        "string",
        "null"
      ]
    },
    "description": {
      "type": [
        "string",
        "null"
      ]
    },
    "url": {
      "type": [
        "string",
        "null"
      ]
    },
    "homepage": {
      "type": [
        "string",
        "null"
      ]
    },
    "stars": {
      "type": [
        "number",
        "null"
      ]
    },
    "forks": {
      "type": [
        "number",
        "null"
      ]
    },
    "watchers": {
      "type": [
        "number",
        "null"
      ]
    },
    "open_issues_and_prs": {
      "type": [
        "number",
        "null"
      ]
    },
    "default_branch": {
      "type": [
        "string",
        "null"
      ]
    },
    "license": {
      "type": [
        "string",
        "null"
      ]
    },
    "topics": {
      "type": "array",
      "items": {
        "type": [
          "string",
          "null"
        ]
      }
    },
    "archived": {
      "type": [
        "boolean",
        "null"
      ]
    },
    "is_fork": {
      "type": [
        "boolean",
        "null"
      ]
    },
    "parent": {},
    "created": {
      "type": [
        "string",
        "null"
      ]
    },
    "last_push": {
      "type": [
        "string",
        "null"
      ]
    },
    "latest_release": {
      "type": [
        "object",
        "null"
      ],
      "properties": {
        "tag": {
          "type": [
            "string",
            "null"
          ]
        },
        "name": {
          "type": [
            "string",
            "null"
          ]
        },
        "date": {
          "type": [
            "string",
            "null"
          ]
        },
        "prerelease": {
          "type": [
            "boolean",
            "null"
          ]
        }
      }
    },
    "languages_pct": {
      "type": [
        "object",
        "null"
      ],
      "properties": {
        "TypeScript": {
          "type": [
            "number",
            "null"
          ]
        },
        "JavaScript": {
          "type": [
            "number",
            "null"
          ]
        },
        "Just": {
          "type": [
            "number",
            "null"
          ]
        },
        "Shell": {
          "type": [
            "number",
            "null"
          ]
        },
        "CSS": {
          "type": [
            "number",
            "null"
          ]
        }
      }
    },
    "top_contributors": {
      "type": "array",
      "items": {
        "type": [
          "object",
          "null"
        ],
        "properties": {
          "login": {
            "type": [
              "string",
              "null"
            ]
          },
          "commits": {
            "type": [
              "number",
              "null"
            ]
          }
        }
      }
    },
    "activity": {
      "type": [
        "object",
        "null"
      ],
      "properties": {
        "days_since_push": {
          "type": [
            "number",
            "null"
          ]
        },
        "days_since_release": {
          "type": [
            "number",
            "null"
          ]
        },
        "verdict": {
          "type": [
            "string",
            "null"
          ]
        }
      }
    }
  }
}
🟢hn_search(query, type, sort, days, min_points, ...)

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).

입력 스키마

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "description": "Keywords to search for."
    },
    "type": {
      "type": "string",
      "enum": [
        "story",
        "comment",
        "show_hn",
        "ask_hn"
      ],
      "default": "story",
      "description": "Stories, comments, Show HN or Ask HN posts. One of \"story\", \"comment\", \"show_hn\", \"ask_hn\". Default \"story\"."
    },
    "sort": {
      "type": "string",
      "enum": [
        "relevance",
        "date"
      ],
      "default": "relevance",
      "description": "Order by relevance or newest first. One of \"relevance\", \"date\". Default \"relevance\"."
    },
    "days": {
      "type": "integer",
      "minimum": 1,
      "maximum": 3650,
      "default": 365,
      "description": "Only items from the last N days. Range 1-3650. Default 365."
    },
    "min_points": {
      "type": "integer",
      "minimum": 0,
      "default": 0,
      "description": "Only items with at least this many points. Default 0."
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 50,
      "default": 15,
      "description": "How many results to return. Range 1-50. Default 15."
    }
  },
  "required": [
    "query"
  ],
  "additionalProperties": false
}

출력 스키마

{
  "type": "object",
  "properties": {
    "query": {
      "type": [
        "string",
        "null"
      ]
    },
    "total": {
      "type": [
        "number",
        "null"
      ]
    },
    "results": {
      "type": "array",
      "items": {
        "type": [
          "object",
          "null"
        ],
        "properties": {
          "title": {
            "type": [
              "string",
              "null"
            ]
          },
          "url": {
            "type": [
              "string",
              "null"
            ]
          },
          "text": {
            "type": [
              "string",
              "null"
            ]
          },
          "points": {
            "type": [
              "number",
              "null"
            ]
          },
          "comments": {
            "type": [
              "number",
              "null"
            ]
          },
          "author": {
            "type": [
              "string",
              "null"
            ]
          },
          "date": {
            "type": [
              "string",
              "null"
            ]
          },
          "hn": {
            "type": [
              "string",
              "null"
            ]
          }
        }
      }
    }
  }
}
🟢doi_lookup(doi, query, limit)

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).

입력 스키마

{
  "type": "object",
  "properties": {
    "doi": {
      "type": "string",
      "description": "e.g. 10.1038/nature14539"
    },
    "query": {
      "type": "string",
      "description": "title/author search instead of a DOI"
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 20,
      "default": 5,
      "description": "How many matches to return when searching by title. Range 1-20. Default 5."
    }
  },
  "additionalProperties": false
}

출력 스키마

{
  "type": "object",
  "properties": {
    "found": {
      "type": [
        "boolean",
        "null"
      ]
    },
    "doi": {
      "type": [
        "string",
        "null"
      ]
    },
    "title": {
      "type": [
        "string",
        "null"
      ]
    },
    "authors": {
      "type": "array",
      "items": {
        "type": [
          "string",
          "null"
        ]
      }
    },
    "year": {
      "type": [
        "number",
        "null"
      ]
    },
    "journal": {
      "type": [
        "string",
        "null"
      ]
    },
    "publisher": {
      "type": [
        "string",
        "null"
      ]
    },
    "type": {
      "type": [
        "string",
        "null"
      ]
    },
    "volume": {
      "type": [
        "string",
        "null"
      ]
    },
    "issue": {
      "type": [
        "string",
        "null"
      ]
    },
    "pages": {
      "type": [
        "string",
        "null"
      ]
    },
    "cited_by": {
      "type": [
        "number",
        "null"
      ]
    },
    "references": {
      "type": [
        "number",
        "null"
      ]
    },
    "license": {
      "type": [
        "string",
        "null"
      ]
    },
    "url": {
      "type": [
        "string",
        "null"
      ]
    },
    "apa": {
      "type": [
        "string",
        "null"
      ]
    },
    "bibtex": {
      "type": [
        "string",
        "null"
      ]
    }
  }
}
🟢book_search(query, limit)

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).

입력 스키마

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "description": "title, author or ISBN"
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 20,
      "default": 5,
      "description": "How many books to return. Range 1-20. Default 5."
    }
  },
  "required": [
    "query"
  ],
  "additionalProperties": false
}

출력 스키마

{
  "type": "object",
  "properties": {
    "total": {
      "type": [
        "number",
        "null"
      ]
    },
    "books": {
      "type": "array",
      "items": {
        "type": [
          "object",
          "null"
        ],
        "properties": {
          "title": {
            "type": [
              "string",
              "null"
            ]
          },
          "authors": {
            "type": "array"
          },
          "first_published": {
            "type": [
              "number",
              "null"
            ]
          },
          "editions": {
            "type": [
              "number",
              "null"
            ]
          },
          "pages_median": {
            "type": [
              "number",
              "null"
            ]
          },
          "rating": {
            "type": [
              "number",
              "null"
            ]
          },
          "ratings": {
            "type": [
              "number",
              "null"
            ]
          },
          "isbn": {
            "type": "array"
          },
          "publishers": {
            "type": "array"
          },
          "languages": {
            "type": "array"
          },
          "subjects": {
            "type": "array"
          },
          "cover": {
            "type": [
              "string",
              "null"
            ]
          },
          "url": {
            "type": [
              "string",
              "null"
            ]
          }
        }
      }
    }
  }
}

커뮤니티

이 서버 평가하기

증거

최근 관측

검증됨버전이 기록되지 않음도구 15개