Skip to content

Orchard MCP server

xyz.orchardshop/orchardorchardshop.xyzstreamable-httpv1.0.0Scanned

Small web and data tools for agents: page to text/markdown, RSS, CSV/JSON. Free tries, then x402.

15 tools: 1 do something that can't be undone, 8 change things and 6 only read.

Tools: 0 delete, 1 irreversible, 8 write, 6 read.
  • Reads private data · 0
  • Reads text others write · 7
  • Can send data out · 14
  • No findings

Tools listed without sign-in. Remote posture

With Anlyon

1 tool here does something that can't be undone. Govern it.

  • Anlyon lists the tools and adopts none.
  • Each tool you adopt gets approvals and receipts.
  • Your agent never holds the key.
Govern this server →

A tool your agent calls directly is not routed through Anlyon and is not governed by it. anlyon.dev only lists and labels, and these labels are the same either way.

What the Orchard MCP server can do

The Orchard MCP server is published by orchardshop.xyz, a domain the MCP Registry verified. It has 15 tools. It can do things that cannot be undone, such as sending, paying or publishing (text-stats) and create or change data (8 tools: hash-encode, csv-to-json, slugify, json-to-csv and 4 more), but cannot delete data. 6 tools only read.

7 tools bring in text other people can write (page-to-text, page-to-markdown, page-metadata and 4 more); 14 tools can send data out of your system (page-to-text, text-stats, hash-encode and 11 more).

None of the fixed checks matched anything in its tool definitions. That is not a safety guarantee.

Its remote endpoint lists its tools without sign-in.

Last scanned Nov 13, 2026, version 1.0.0.

Tools

Grouped by what each tool does, most consequential first. Open one for its reasons and full description; descriptions are the publisher's own words.

15 tools

Can't be undone 1Claude Code: ask
  • text-statsSend plain text as the raw POST body and get back word count, sentence count, character count, estimated reading minutes, and the top 10 keywords (stopwords removed).Can send data outNo findings

    Why it is in this group

    • The description's first verb is "send": a word for sending, and what is sent cannot be taken back.

    What it can reach

    • outboundThe description's first verb is "send": it sends or publishes something to other people.
    Description, as the server wrote it
    Send plain text as the raw POST body and get back word count, sentence count, character count, estimated reading minutes, and the top 10 keywords (stopwords removed). Free: 3 calls a day per visitor; after that $0.01 per call via x402 at https://tools.orchardshop.xyz/t/text-stats.
Changes things 8Claude Code: ask
  • bulk-page-to-markdownConverts up to 20 public web pages to clean markdown in one call.Can send data outNo findings

    Why it is in this group

    • The description's first verb is "convert": a word for a change.

    What it can reach

    • outboundThe input takes a URL (input.urls): a request to a URL can carry data to whoever runs it.
    Description, as the server wrote it
    Converts up to 20 public web pages to clean markdown in one call. Returns each page's title and markdown body (headings, links, list items, paragraphs; scripts and styles removed), capped at 20,000 characters per page, with a 25-second time limit. Every URL is fetched through a public-internet-only safe fetcher. Use it to pull several docs or articles into one batch instead of making 20 separate calls. Paid only: $0.25 per call via x402 at https://tools.orchardshop.xyz/t/bulk-page-to-markdown.
  • csv-to-jsonPOST raw CSV as the body (first row is headers) and get back a JSON array of row objects, plus column names and row count.Can send data outNo findings

    Why it is in this group

    • The description's first verb is "post": a word for a change.

    What it can reach

    • outboundThe description's first verb is "post": it sends or publishes something to other people.
    Description, as the server wrote it
    POST raw CSV as the body (first row is headers) and get back a JSON array of row objects, plus column names and row count. Handles quoted fields, commas and newlines inside quotes, and escaped quotes. Free: 3 calls a day per visitor; after that $0.01 per call via x402 at https://tools.orchardshop.xyz/t/csv-to-json.
  • hash-encodePOST raw text as the body and get back its byte count, sha256, sha1, md5, hex, base64 and base64url encodings.Can send data outNo findings

    Why it is in this group

    • The description's first verb is "post": a word for a change.

    What it can reach

    • outboundThe description's first verb is "post": it sends or publishes something to other people.
    Description, as the server wrote it
    POST raw text as the body and get back its byte count, sha256, sha1, md5, hex, base64 and base64url encodings. Useful for checksums, IDs and encoding a value mid-task. Free: 3 calls a day per visitor; after that $0.01 per call via x402 at https://tools.orchardshop.xyz/t/hash-encode.
  • json-to-csvPOST a JSON array of flat objects (or {"rows":[...]}) and get CSV back.Can send data outNo findings

    Why it is in this group

    • The description's first verb is "post": a word for a change.

    What it can reach

    • outboundThe description's first verb is "post": it sends or publishes something to other people.
    Description, as the server wrote it
    POST a JSON array of flat objects (or {"rows":[...]}) and get CSV back. Columns are the union of all keys in order of first appearance. Values are quoted and escaped per RFC 4180. Nested objects are stored as JSON text. Up to 5000 rows per call. Free: 3 calls a day per visitor; after that $0.01 per call via x402 at https://tools.orchardshop.xyz/t/json-to-csv.
  • markdown-stripPOST raw markdown as the request body and get plain text back.Can send data outNo findings

    Why it is in this group

    • The description's first verb is "post": a word for a change.

    What it can reach

    • outboundThe description's first verb is "post": it sends or publishes something to other people.
    Description, as the server wrote it
    POST raw markdown as the request body and get plain text back. Removes headings, emphasis, links (keeps the label), images (keeps the alt text), list markers, blockquotes, HTML tags and code fences (keeps code contents). Useful before summarizing or indexing markdown documents. Free: 3 calls a day per visitor; after that $0.01 per call via x402 at https://tools.orchardshop.xyz/t/markdown-strip.
  • site-auditCrawls up to 25 pages of one website (same host only) and reports the problems an SEO or QA check looks for: broken links (up to 40 outbound links spot-checked per page), missing p…Reads text others writeCan send data outNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.

    What it can reach

    • untrusted-inputThe description's first sentence says "crawl": it reads web pages, which anyone can write.
    • outboundThe input takes a URL (input.url): a request to a URL can carry data to whoever runs it.
    Description, as the server wrote it
    Crawls up to 25 pages of one website (same host only) and reports the problems an SEO or QA check looks for: broken links (up to 40 outbound links spot-checked per page), missing page titles and meta descriptions, slow pages over 1.5 seconds, and pages over 500 KB. Returns a summary of issues plus per-page details as JSON. Has a 45-second time limit and polite pacing. Every URL is fetched through a public-internet-only safe fetcher. Paid only: $0.50 per call via x402 at https://tools.orchardshop.xyz/t/site-audit.
  • site-crawl-markdownCrawls one public website breadth-first from a start URL, staying on the same hostname, and returns each page as clean Markdown (up to 20,000 chars per page).Reads text others writeCan send data outNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.

    What it can reach

    • untrusted-inputThe name "site-crawl-markdown" says "crawl": it reads web pages, which anyone can write.
    • untrusted-inputThe description's first sentence says "crawl": it reads web pages, which anyone can write.
    • outboundThe input takes a URL (input.url): a request to a URL can carry data to whoever runs it.
    Description, as the server wrote it
    Crawls one public website breadth-first from a start URL, staying on the same hostname, and returns each page as clean Markdown (up to 20,000 chars per page). Reads robots.txt and skips disallowed paths, fetches at most 2 pages at a time with about 300ms between requests, and identifies as OrchardBot/1.0. Blocks localhost and private addresses, including after redirects. Answers within 45 seconds; if time runs out it returns the pages it has with partial=true. Returns JSON with start_url, pages_crawled, partial, pages[{url,title,markdown}] and skipped[{url,reason}]. max_pages is 1-20 (default 10). Paid only: $0.25 per call via x402 at https://tools.orchardshop.xyz/t/site-crawl-markdown.
  • slugifyPOST titles as JSON {"titles": [...]} or as raw text with one title per line, and get back URL-safe slugs.Can send data outNo findings

    Why it is in this group

    • The description's first verb is "post": a word for a change.

    What it can reach

    • outboundThe description's first verb is "post": it sends or publishes something to other people.
    Description, as the server wrote it
    POST titles as JSON {"titles": [...]} or as raw text with one title per line, and get back URL-safe slugs. Strips accents, lowercases, removes apostrophes and collapses other punctuation to single hyphens. Up to 500 titles per call. Free: 3 calls a day per visitor; after that $0.01 per call via x402 at https://tools.orchardshop.xyz/t/slugify.
Only reads 6Show 6 read-only tools
  • json-checkValidates a JSON document sent as the raw request body and returns it pretty-printed.No findings

    Why it is in this group

    • The description's first verb is "validate": a word for reading.
    Description, as the server wrote it
    Validates a JSON document sent as the raw request body and returns it pretty-printed. Returns valid true/false, the formatted JSON, a count of keys, and byte size. Invalid JSON returns the parser error message. Free: 3 calls a day per visitor; after that $0.01 per call via x402 at https://tools.orchardshop.xyz/t/json-check.
  • page-metadataFetches any public http(s) page and returns its metadata: title, meta description, canonical URL, favicon URL, all OpenGraph (og:*) properties, and every unique absolute link with …Reads text others writeCan send data outNo findings

    Why it is in this group

    • The description's first verb is "fetch": a word for reading.

    What it can reach

    • untrusted-inputThe description's first sentence says "fetch" and "http": it reads web pages, which anyone can write.
    • untrusted-inputThe input takes a URL (input.url), and the tool reads it: it reads web pages, which anyone can write.
    • outboundThe input takes a URL (input.url): a request to a URL can carry data to whoever runs it.

    Claude Code: ask, because it is tagged outbound.

    Description, as the server wrote it
    Fetches any public http(s) page and returns its metadata: title, meta description, canonical URL, favicon URL, all OpenGraph (og:*) properties, and every unique absolute link with its anchor text (up to 500). Blocks localhost and private addresses. Returns JSON with url, final_url, status, title, description, canonical, favicon, og, link_count and links. Free: 3 calls a day per visitor; after that $0.01 per call via x402 at https://tools.orchardshop.xyz/t/page-metadata.
  • page-to-markdownFetches any public http(s) page and returns clean Markdown: headings (#), paragraphs, lists, links with absolute URLs, bold/italic, and code blocks.Reads text others writeCan send data outNo findings

    Why it is in this group

    • The description's first verb is "fetch": a word for reading.

    What it can reach

    • untrusted-inputThe description's first sentence says "fetch" and "http": it reads web pages, which anyone can write.
    • untrusted-inputThe input takes a URL (input.url), and the tool reads it: it reads web pages, which anyone can write.
    • outboundThe input takes a URL (input.url): a request to a URL can carry data to whoever runs it.

    Claude Code: ask, because it is tagged outbound.

    Description, as the server wrote it
    Fetches any public http(s) page and returns clean Markdown: headings (#), paragraphs, lists, links with absolute URLs, bold/italic, and code blocks. Scripts, styles and nav/footer are removed. Output is capped at the first 50,000 characters, with a truncated flag. Blocks localhost and private addresses. Returns JSON with url, status, title, chars, truncated and markdown. Free: 3 calls a day per visitor; after that $0.02 per call via x402 at https://tools.orchardshop.xyz/t/page-to-markdown.
  • page-to-textFetches a public web page and returns its readable text as JSON: url, status, title, char count, and clean text with scripts, styles and tags stripped.Reads text others writeCan send data outNo findings

    Why it is in this group

    • The description's first verb is "fetch": a word for reading.

    What it can reach

    • untrusted-inputThe description's first sentence says "fetch" and "web": it reads web pages, which anyone can write.
    • untrusted-inputThe input takes a URL (input.url), and the tool reads it: it reads web pages, which anyone can write.
    • outboundThe input takes a URL (input.url): a request to a URL can carry data to whoever runs it.

    Claude Code: ask, because it is tagged outbound.

    Description, as the server wrote it
    Fetches a public web page and returns its readable text as JSON: url, status, title, char count, and clean text with scripts, styles and tags stripped. Blocks private/localhost addresses. Free: 3 calls a day per visitor; after that $0.01 per call via x402 at https://tools.orchardshop.xyz/t/page-to-text.
  • rss-latestFetches any public RSS 2.0 or Atom feed and returns its latest items as JSON, newest first in feed order.Reads text others writeCan send data outNo findings

    Why it is in this group

    • The description's first verb is "fetch": a word for reading.

    What it can reach

    • untrusted-inputThe name "rss-latest" says "rss": it reads web pages, which anyone can write.
    • untrusted-inputThe description's first sentence says "fetch" and "rss": it reads web pages, which anyone can write.
    • untrusted-inputThe input takes a URL (input.url), and the tool reads it: it reads web pages, which anyone can write.
    • outboundThe input takes a URL (input.url): a request to a URL can carry data to whoever runs it.

    Claude Code: ask, because it is tagged outbound.

    Description, as the server wrote it
    Fetches any public RSS 2.0 or Atom feed and returns its latest items as JSON, newest first in feed order. Each item has title, link, published date, summary (first 500 chars, tags stripped) and guid. Choose how many with ?limit= (1-50, default 10). Blocks localhost and private addresses. Returns JSON with feed_url, format (rss or atom), title, link, count and items. Free: 3 calls a day per visitor; after that $0.01 per call via x402 at https://tools.orchardshop.xyz/t/rss-latest.
  • sitemap-to-indexReads a website's sitemap.xml and returns each page's title, meta description and word count as JSON.Reads text others writeCan send data outNo findings

    Why it is in this group

    • The description's first verb is "read": a word for reading.

    What it can reach

    • untrusted-inputThe description's first sentence says "read" and "website": it reads web pages, which anyone can write.
    • untrusted-inputThe input takes a URL (input.url), and the tool reads it: it reads web pages, which anyone can write.
    • outboundThe input takes a URL (input.url): a request to a URL can carry data to whoever runs it.

    Claude Code: ask, because it is tagged outbound.

    Description, as the server wrote it
    Reads a website's sitemap.xml and returns each page's title, meta description and word count as JSON. Checks up to 25 pages per call (one level of sitemap index), with a 25-second time limit. Every page is fetched through a public-internet-only safe fetcher. Use it to audit a site's SEO basics or to get a quick content inventory before crawling. Paid only: $0.25 per call via x402 at https://tools.orchardshop.xyz/t/sitemap-to-index.

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Exfil surface

Which tools read private data, which read text someone else can write, and which can send data out. One of each is a path a prompt injection can use.

No private-data, untrusted-input, outbound path in this server alone: no tool is tagged private-data.

Reads private data0
Reads files, mail, messages, databases, secrets, calendars or repositories.
Reads text others write7
Brings in text someone else can write: web pages, inbound email, messages, issues and comments.
Can send data out14
Can carry data to people or systems: it sends, posts or publishes, or takes a recipient, channel or URL.

Other servers in the same agent add their own tools to these paths. Audit your whole setup to see them together.

Remote posture

What anyone on the internet sees at the remote endpoint: an anonymous initialize and tools/list, and the public OAuth metadata.

Tools listed without sign-in

Looked at Nov 13, 2026, 11:20 UTC, unchanged since Nov 13, 2026. No credentials were sent and no tool was called. What is looked at.

Reachable
yes
HTTP status of an anonymous initialize
200
tools/list served without credentials
yes
Tools that change things, listed without credentials
9
Protocol version
2025-06-18
WWW-Authenticate on 401
not observed
resource_metadata in WWW-Authenticate
not observed
RFC 9728 protected resource metadata
not observed
Authorization servers
not observed
Legacy HTTP+SSE transport
no
Dynamic client registration
not observed
Client ID metadata documents
not observed
  • HighThe whole server

    The endpoint served tools/list without credentials, and the list has 9 tools that change things (1 irreversible, 8 write). Whether a call also works without credentials was not tested: tools are never called.

    Matched text

    https://orchardshop.xyz/mcp: tools/list returned 15 tools to an anonymous client, including text-stats (irreversible), hash-encode (write), csv-to-json (write), slugify (write), json-to-csv (write) and 4 more

    What this check looks for

Findings

Matches of fixed checks, with the text they matched.

No check matched anything in these tool definitions. That is not a safety guarantee.

History

Changes to its tool definitions and to its remote endpoint, newest first.

No change seen yet. Its tools are rescanned every day, and a remote endpoint is looked at once a week.

Install

Pinned to version 1.0.0. Values in angle brackets are yours to fill in.

claude mcp add --transport http orchard https://orchardshop.xyz/mcp
claude mcp add --transport http orchard https://orchardshop.xyz/mcp

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change or a way out, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__orchard__json-check"
    ],
    "ask": [
      "mcp__orchard__page-to-text",
      "mcp__orchard__text-stats",
      "mcp__orchard__hash-encode",
      "mcp__orchard__csv-to-json",
      "mcp__orchard__slugify",
      "mcp__orchard__json-to-csv",
      "mcp__orchard__markdown-strip",
      "mcp__orchard__page-to-markdown",
      "mcp__orchard__page-metadata",
      "mcp__orchard__rss-latest",
      "mcp__orchard__site-crawl-markdown",
      "mcp__orchard__sitemap-to-index",
      "mcp__orchard__bulk-page-to-markdown",
      "mcp__orchard__site-audit"
    ],
    "deny": []
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. A read that can send data out (it takes a URL, say) asks first too. It assumes the server is installed as orchard. Review it before you use it.

Capability tags behind 14 rules
  • mcp__orchard__page-to-text untrusted-input, outbound
  • mcp__orchard__text-stats outbound
  • mcp__orchard__hash-encode outbound
  • mcp__orchard__csv-to-json outbound
  • mcp__orchard__slugify outbound
  • mcp__orchard__json-to-csv outbound
  • mcp__orchard__markdown-strip outbound
  • mcp__orchard__page-to-markdown untrusted-input, outbound
  • mcp__orchard__page-metadata untrusted-input, outbound
  • mcp__orchard__rss-latest untrusted-input, outbound
  • mcp__orchard__site-crawl-markdown untrusted-input, outbound
  • mcp__orchard__sitemap-to-index untrusted-input, outbound
  • mcp__orchard__bulk-page-to-markdown outbound
  • mcp__orchard__site-audit untrusted-input, outbound

Pin

Keep the decision: fail CI when the tools change, follow every change, or show a badge.

Pin in CI

Fail a build when the tools you reviewed are not the tools the server serves today.

curl -s "https://anlyon.dev/api/v1/servers/xyz.orchardshop/orchard/verify?hash=0873a6824c690138ff6b755a72a497bfd7c063b81745e202ba5504c90ed3e2a1" | jq -e '.changed == false'

Pinned hash 0873a6824c69, from Nov 13, 2026, 01:18 UTC.

Watch

Get told when its tools change: a new tool, a new description, a new class.

https://anlyon.dev/servers/xyz.orchardshop/orchard/changes.xml

An Atom feed. Works in any feed reader or Slack's RSS app.

Badge

anlyon.dev badge for xyz.orchardshop/orchard
[![anlyon.dev](https://anlyon.dev/badge/xyz.orchardshop/orchard.svg)](https://anlyon.dev/servers/xyz.orchardshop/orchard)

Source: MCP Registry. Synced Nov 13, 2026, 01:18 UTC.

Orchard MCP server: questions and answers

Answered from the scan above, not from the publisher's description.

Is the Orchard MCP server safe?

No scan can promise that. What its definitions show: 15 tools, 9 of which can change, send or delete something, and 0 findings from fixed checks. Allow the reads, ask before each change, and deny the deletes; the permissions block on this page does that.

Can the Orchard MCP server delete data?

No tool is classed as destructive: going by their definitions, none of them deletes, cancels or revokes anything.

Can the Orchard MCP server do things that cannot be undone?

Yes. 1 tool can send, pay, publish or merge: text-stats.

What tools does the Orchard MCP server have?

15 tools: 1 irreversible, 8 write, 6 read. text-stats, hash-encode, csv-to-json, slugify, json-to-csv, markdown-strip, site-crawl-markdown, bulk-page-to-markdown and 7 more.

Does the Orchard MCP server need sign-in or OAuth?

Its remote endpoint listed its tools to an anonymous client, without sign-in.

Does the Orchard MCP server send data to outside services?

14 tools can carry data out (it sends, posts or publishes, or takes a recipient, channel or URL): page-to-text, text-stats, hash-encode, csv-to-json, slugify, json-to-csv and 8 more.

Has the Orchard MCP server changed its tools?

Not since anlyon.dev started tracking it. Last scanned Nov 13, 2026.