passiv-mcp
passiv-mcp
AI 에이전트에게 무료 웹 도구를 제공하는 MCP 서버 — 인증 불필요, 의존성 없음.
무료 Passiv APIs를 기반으...
Wait, error. Let's correct: The URL is https://hermes-passiv.pages.dev. Let's type: https://hermes-passiv.pages.dev. Actually the link should be "https://hermes-passiv.pages.dev"? The original is "https://hermes-passive.pages.dev" or "https://hermes-passiv.pages.dev"? From user input: https://hermes-passiv.pages.dev maybe .pages. I'll check original: https://hermes-passiv.pages.dev in prompt: "Passiv](https://hermes-passiv.pages.dev)" Yes "her mes-passiv.pages.dev". I need ensure the correct domain: "hermes-passiv.pages.dev" appears. In the user message, it's "https://hermes-passiv.pages.dev" (h-e-r-m-e-s passive). Let me look: [Passiv](https://hermes-passiv.pages.dev) yes. I typed "fermes" accidentally. Use "hermes-passiv.pages.dev".
Now, "Four tools, deskrip...".
Let's now produce final output with proper spelling.# passiv-mcp
AI 에이전트에게 무료 웹 도구를 제공하는 MCP 서버 — 인증 불필요, 의존성 없음.
무료 Passiv API를 기반으로 하는 네 가지 도구:
도구 | 기능 |
| HTML을 깔끔한 Markdown 또는 일반 텍스트로 변환 (호출당 최대 50KB) |
| 9가지 EU 컴플라이언스 스캔: 개인정보 처리방침, 이용약관, 쿠키 동의, 법적 고지, 접근성 선언, DPA, 보안 헤더, 메타 태그, hreflang |
| 페이지 프로필: 메타/OG 태그, JSON-LD, 제목 구조, 대체 텍스트 커버리지, 보안 헤더, 점수 + 등급 |
| CSP, HSTS, X-Frame-Options, X-Content-Type-Options, Referrer-Policy |
공식 MCP Registry에 io.github.mahope/passiv-mcp로 등재되어 있습니다.
Claude Desktop, Claude Code, Cursor, Windsurf를 포함한 모든 MCP 클라이언트에서 사용할 수 있습니다.
설치
의존성이 없으며 Node.js 18+가 필요합니다.
GitHub에서 실행 (클론 불필요)
npx github:mahope/passiv-mcpClaude Desktop
claude_desktop_config.json에 다음을 추가하세요:
{
"mcpServers": {
"passiv": {
"command": "npx",
"args": ["github:mahope/passiv-mcp"]
}
}
}Claude Code
claude mcp add passiv -- npx github:mahope/passiv-mcpRelated MCP server: Website Intelligence MCP Server
예시 프롬프트
연결된 후 다음을 시도해 보세요:
"이 HTML 조각을 Markdown으로 변환해 줘: ……"
"example.com에서 기본 GDPR 준수 사항을 스캔해 줘"
"내 사이트의 보안 헤더를 확인해 줘"
"이 페이지를 프로파일링해서 어떤 메타 태그가 누락되었는지 알려줘"
개인정보 보호
도구로 전송되는 URL은 Passiv 스캔 프록시가 서버 측에서 가져오며 저장되지 않습니다.
html_to_markdown으로 전송된 HTML은 즉시 변환 후 폐기됩니다.
관련 프로젝트
Clean Copy — 동일한 Markdown 엔진을 사용하는 브라우저 확장 프로그램
clean-copy-cli — CLI 버전
compliance-site-check — 컴플라이언스 엔진이 포함된 GitHub Action
라이선스
MIT
Available Tools
4 toolscheck_security_headersA
Check a URL for security headers: Content-Security-Policy, HSTS, X-Frame-Options, X-Content-Type-Options and Referrer-Policy. Reports which are present/missing.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Public URL to check. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations at all, the description carries the full behavioral burden. It does disclose a useful trait — that it reports which headers are present/missing — but omits whether it makes a live network fetch, how it handles unreachable URLs, timeout/rate behavior, and permissions. Adequate but incomplete for a zero-annotation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences with zero filler; the enumerated header list is front-loaded and the reporting behavior is stated in a compact second clause.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter read tool this is close to sufficient: it names what is checked and that results are present/missing. Since no output schema exists, it could say more about the return structure (e.g., per-header status values), leaving a small gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the single parameter's schema description ('Public URL to check') already conveys the 'public' constraint. The description adds no syntax, format, or semantic detail beyond the schema, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Check') and resource ('security headers') and even enumerates exactly which headers are inspected (CSP, HSTS, X-Frame-Options, X-Content-Type-Options, Referrer-Policy), so the scope is unambiguous. However, it never distinguishes itself from the sibling compliance_scan, which plausibly overlaps with security-header auditing, so sibling differentiation is absent.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: an agent can infer it should be called when it has a URL whose security headers need auditing. There is no explicit statement of when to prefer this over compliance_scan or any prerequisite (e.g., that the page must be publicly reachable).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compliance_scanA
Scan a website for 9 EU compliance essentials: privacy policy, terms, cookie consent, imprint, accessibility statement, DPA, security headers, meta tags, hreflang. Returns a score out of 100 plus pass/fail per check with fix tips.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Public URL to scan, e.g. https://example.com |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It does disclose the return shape (score out of 100, pass/fail per check, fix tips), which is genuinely useful behavioral context, but it says nothing about whether the scan is non-mutating, whether it requires the target site to be publicly reachable, rate limits, or latency/cost. Adequate but incomplete for a network-fetch tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the action and resource, then the enumerated checks and the return format. The nine-item list is dense but each item carries information; no filler sentences.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, so the description must cover returns — and it does (score, pass/fail, fix tips). For a one-parameter read-only scanner that is nearly complete, with the remaining gap being preconditions/permissions and any notion of scan cost or rate limits.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Single parameter with 100% schema description coverage, so the schema already documents the url field and gives an example. The description adds only the loose notion of 'a website' and no format, scheme, or constraint details beyond the schema, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Scan) and resource (a website) and enumerates the nine checks performed, which makes the scope concrete and largely separates it from check_security_headers (only one of the nine checks). However, it never explicitly names or contrasts with siblings, so an agent must infer the overlap itself.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the content ('EU compliance essentials'), which tells the agent roughly when this tool is relevant, but there is no explicit when-to-use statement and no guidance on choosing this over check_security_headers or the other siblings. Nothing is misleading, but nothing is stated either.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
html_to_markdownA
Convert HTML to clean Markdown or plain text. Same engine as the Clean Copy browser extension. Max 50 KB of HTML per call.
| Name | Required | Description | Default |
|---|---|---|---|
| html | Yes | The HTML to convert. | |
| mode | No | markdown (default) keeps formatting; plain strips it all. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the behavioral burden. It usefully discloses a hard input ceiling (50 KB per call), which is real operational context, but says nothing about how malformed HTML, scripts/styles, or oversized input are handled, nor what the failure mode looks like.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, zero filler, and the core conversion capability is front-loaded. Each sentence carries distinct information (capability, provenance, limit).
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter transform with no output schema, the definition covers what the tool does, its output modes, and its size constraint. It is nearly complete, with the only shortfall being unaddressed error/failure behavior for invalid or oversized input.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the mode enum is already fully explained in the schema ('markdown (default) keeps formatting; plain strips it all'). The description's 'Markdown or plain text' adds nothing beyond that, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description pairs a specific verb (convert) with a specific resource (HTML) and names both output formats (Markdown, plain text). An agent knows exactly what this tool produces before opening the schema, and it is clearly distinct from the security/compliance siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit statement of when to use this tool versus alternatives, nor any when-not guidance or prerequisites. The 'Clean Copy browser extension' reference is provenance trivia, not routing guidance, and the mode choice is left to the parameter schema.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
profile_pageB
Profile a web page: title/meta description, Open Graph tags, JSON-LD structured data, heading structure, image alt coverage and security headers, with a weighted score and letter grade.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Public URL to profile. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It usefully discloses the response shape (a weighted score and letter grade), implying a read-only analyser, but says nothing about error behavior for unreachable/non-HTML URLs, redirect handling, timeouts, or rate limits, which are material for a network-fetching tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single dense sentence, front-loaded with the verb and resource, and every clause names a real output dimension. It is appropriately sized, though the long comma-separated enumeration is slightly harder to scan than a short structured list.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter tool with no output schema or annotations, the description usefully compensates by enumerating the returned artifacts and the scoring model. Gaps remain around failure modes and scope limits (e.g., non-HTML or non-public URLs), but the core calling information is present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the single 'url' parameter is documented as 'Public URL to profile.' The description adds no extra meaning about URL format, scheme requirements, or what counts as 'public', so the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb ('Profile') and resource ('a web page') and enumerates the exact artifacts produced: title/meta, Open Graph, JSON-LD, headings, image alt coverage, security headers, plus a weighted score and letter grade. It clearly separates this from the narrow sibling check_security_headers by listing many more dimensions, but it never names or contrasts the siblings explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool versus check_security_headers, html_to_markdown, or compliance_scan, despite obvious overlap (security headers, page content extraction). Usage is only implied by the enumeration of outputs; no prerequisites or exclusions are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
4 tool updates
v1.2.1- First observed
check_security_headers - First observed
compliance_scan - First observed
html_to_markdown - First observed
profile_page
TDQS
Scored across 4 tools
The four tools have distinct primary purposes: security headers, HTML conversion, compliance scanning, and page profiling. However, there is some overlap: both compliance_scan and profile_page include security headers in their checks, and check_security_headers is a standalone tool for the same. This minor redundancy could cause confusion about which tool to use for security header information.
All tool names follow a consistent verb_noun or noun_noun pattern (check_security_headers, html_to_markdown, compliance_scan, profile_page). They are clear, descriptive, and use snake_case uniformly with no mixing of conventions.
Four tools is a reasonable number for a focused web analysis and conversion server. It covers distinct functionalities without bloat. Slightly on the lower side but adequate for the apparent scope.
The server covers several web page analysis and conversion tasks, but notable gaps exist: no tool for analyzing performance metrics, broken links, or SEO beyond compliance and profiling. More importantly, check_security_headers is subsumed by compliance_scan and profile_page, suggesting incomplete decomposition or redundant surface. However, for the listed core functionalities, the surface is complete.
Maintenance
Related MCP Connectors
Web tools for AI agents: scrape pages to Markdown, audit SEO, detect tech stacks, check sitemaps
Web tools for AI agents: URL to clean Markdown, site crawl, screenshots, PDF/Office to text, OCR.
Pay-per-use agent tools: screenshots, web to Markdown, PDF tables, OCR, UK company checks
13 privacy-first network, auth & web tools for AI agents — no API key, 60 req/min free.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceMulti-tool MCP server for AI agents with 29 tools across web scraping, SEO analysis, screenshot and PDF generation, domain intelligence, content extraction, multi-chain EVM blockchain queries, and security toolkit. Free tier available with no auth required.33 npm1MIT
- AlicenseNot gradedqualityDmaintenanceWebsite Intelligence MCP Server exposes 10 tools for web scraping and analysis, enabling AI agents to convert URLs to Markdown, extract metadata, detect technologies, find contacts, and perform SEO checks. It wraps a REST API and supports optional API keys.MIT
- AlicenseAqualityDmaintenanceEnables AI agents to extract structured content from URLs, search the web via DuckDuckGo, monitor site availability, and convert HTML to markdown without requiring API keys.551 npmMIT
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to validate AI infrastructure claims, check endpoint availability, solve CAPTCHA challenges, convert web pages to Markdown, search the web, extract structured JSON, and fetch bot-protected HTML through native tool calls.MIT