# Mirror.xyz MCP

> Mirror.xyz connects your agent directly to decentralized content hosted on Arweave and ENS domains. Use this server to fetch lists of publications for a given ENS name or retrieve the full text and metadata for any specific entry using its unique Arweave digest.

## Overview
- **Category:** content-management
- **Price:** Free
- **Tags:** web3, decentralized-publishing, ens, arweave, mirror-xyz, writing

## Description

**Mirror.xyz connects your agent straight into decentralized content on Arweave and ENS domains.** You'll use this server when you need your AI client to handle web3 data, bypassing traditional search engines or centralized APIs. It provides two core functions for deep content retrieval: one tool lists publications using an ENS name, and the other pulls the complete article details from a specific Arweave digest.

When you run `get_entries`, you hand it an ENS name—say, `yourproject.eth`—and it returns a clean list of every publication that's been posted under that Mirror profile. This isn't just metadata; it's the working index for all available content associated with that specific decentralized identity. You get a bulletproof log of links and timestamps showing you exactly what was published, letting your agent track project timelines or editorial history for any given Web3 entity.

If you know which article you want, `get_entry` is your play. It takes the unique Arweave digest—that long string of characters pointing to the data block—and pulls back everything attached to that single post. You don't just get the text; you get the full content body, the title, and all the metadata about the entry, including who authored it and when. This is crucial because knowing the author isn't enough; you need the context of the submission itself.

Your agent can use these mechanisms to analyze web3 data streams by pulling multiple pieces of information. For example, if a project publishes a governance proposal on Mirror, your client uses `get_entry` with the digest to pull the full text of that proposal, and then it might run `get_entries` first to see when the proposal was published relative to other announcements. You can build complex research flows—the agent pulls a list via ENS name, picks the most relevant link from that list, and then uses the Arweave digest on that link to get all the details needed for a summary or analysis.

Think about it: you're not manually checking block explorers anymore. Your client acts like a dedicated web3 librarian, querying the source of truth directly. If you need to summarize project updates across several months of decentralized journalism, your agent doesn't guess; it gets the raw data points for every entry needed.

When analyzing governance proposals or market commentary published on Mirror.xyz, you can feed the complete text from `get_entry` into your AI client. You don't have to sift through boilerplate language. The tool gives you the actual words and the associated author details, so you're working with verifiable primary source material. This capability means you can build logic that tracks shifts in sentiment or changes in technical focus across a series of posts—it’s all about the data flow.

It’s simple: give your agent an ENS name to see what’s out there, or give it a digest to read exactly what was said. You'll use these tools to build workflows that summarize project activity or analyze complex discussions by pulling structured lists and then deep-diving into the full text of each piece of content retrieved from Arweave.

## Tools

### get_entries
Fetches a list of all published entries for a specified Mirror publication using its ENS name.

### get_entry
Retrieves the full content, metadata, and author details for one specific Mirror entry using its Arweave digest.

## Prompt Examples

**Prompt:** 
```
List the latest entries for the publication mirror-xyz.eth.
```

**Response:** 
```
I've retrieved the latest entries for mirror-xyz.eth. There are several recent posts, including 'The Future of Web3 Publishing' and 'Introducing MCP Support'. Which one would you like to read in full?
```

**Prompt:** 
```
Fetch the full content for the Mirror entry with digest 0xabc123...
```

**Response:** 
```
Fetching entry details... I've loaded the full article titled 'Decentralized Identity'. It was authored by 0x71C... and covers the evolution of ENS. Would you like a summary of the content?
```

**Prompt:** 
```
What are the recent posts published by atlas.eth on Mirror?
```

**Response:** 
```
Searching for entries from atlas.eth... I found 3 recent publications. The most recent is 'Mapping the Open Metaverse' published last week. I can fetch the full text for any of these if you provide the digest.
```

## Capabilities

### List all publication entries
You give it an ENS name, and it returns a list of the latest published links for that specific Mirror profile.

### Retrieve full article content
You provide a unique Arweave digest, and it fetches the complete text, title, and author information for that single decentralized post.

### Analyze Web3 data streams
Your AI client uses the retrieved data to summarize project updates or analyze governance proposals published on Mirror.xyz.

## Use Cases

### Tracking a key project's history
A developer needs to track every technical milestone published by `project-x.eth`. Instead of visiting the site and clicking through 20 pages, they ask their agent to run `get_entries` on that ENS name. The agent returns a chronological list of all posts, letting them find the exact dev-log digest needed for an audit.

### Comparing competing ideas
A researcher is comparing two different Web3 visions published by `vision-a.eth` and `vision-b.eth`. They use `get_entries` on both names, gather the list of recent digest IDs, then feed those digests to their AI agent for side-by-side summarization.

### Getting a single forgotten article
Someone knows they read an important paper from Mirror but can't remember the title. They only have the Arweave digest (e.g., `0xabc123...`). Using `get_entry` with that digest immediately pulls the full text, author info, and context into their workflow.

### Gathering all posts for a known creator
A curator wants to compile a summary of everything published by a specific writer. They run `get_entries` using that writer's ENS name. The agent gives them the list, and they can then select multiple digests to analyze.

## Benefits

- Stop manually searching through block explorers or centralized gateways for old articles. Your AI client finds the content using `get_entries` and `get_entry` directly from the chat.
- You get structured data, not messy links. When you use this server, it pulls specific metadata (author, title) along with the full text, making analysis easy.
- The tool handles the complexity of ENS names and Arweave digests for you. You just need to know what publication or article you're looking for.
- It keeps your data pipeline centralized. Instead of copy-pasting from multiple decentralized sites, all the content flows into one place via your agent.
- Get deep research insights without context switching. The server allows your AI client to synthesize information across different Mirror publications.

## How It Works

The bottom line is, you use natural language prompts to access complex, decentralized data sources without needing specific web portal knowledge.

1. First, subscribe to the Mirror.xyz server and connect your preferred AI agent.
2. Next, prompt your agent with either the ENS name of a publication (to list entries) or an Arweave digest (to get full text).
3. Your AI client executes the tool call, pulling the structured content directly into your chat window.

## Frequently Asked Questions

**How do I use the get_entries tool with Mirror.xyz?**
You prompt your agent by asking to list entries for a specific ENS name (e.g., 'List all posts for my-blog.eth'). The `get_entries` tool handles fetching the list of publication links.

**What is an Arweave digest and why do I need get_entry?**
The Arweave digest is a unique, permanent ID for a piece of data. You use `get_entry` when you have this specific ID because it guarantees the agent retrieves that exact, full article's content.

**Can I use get_entries to find all posts by an author?**
You can list entries for a specific ENS name. If the author published under their own dedicated publication name, you can query that; otherwise, you need the author's specific profile ENS.

**Does this server work with other Web3 platforms besides Mirror?**
No. This server is specifically built to interface with the content standards and data structures used by Mirror.xyz on Arweave.

**What credentials do I need when calling get_entries?**
You might need to provide a Mirror Developer API key. If you're only targeting publicly visible publications, the server often handles the request without explicit authentication. Using your own key guarantees access to all available data.

**If I call get_entry with an incorrect Arweave digest, what happens?**
The server returns a specific 'Entry Not Found' error. This means the provided digest doesn't map to any valid content on Mirror. Double-check that the digest is correct and hasn't been corrupted.

**Does calling get_entries repeatedly trigger rate limits?**
Yes, rapid calls to `get_entries` can hit usage limits. We recommend implementing an exponential backoff strategy in your AI client. This prevents throttling and keeps your data retrieval stable.

**When I use get_entries, does the publication ENS name require a specific format?**
Yes, the ENS name must be fully qualified for accurate results. When you pass `mirror-xyz.eth`, ensure your client passes it exactly as registered on Mirror to fetch all associated entries.

**Can I fetch posts from any Mirror publication if I only have the ENS domain?**
Yes! Use the `get_entries` tool with the ENS domain (e.g., 'mirror-xyz.eth'). The agent will return a list of published entries associated with that specific publication.

**How do I retrieve the full text of a specific Mirror article?**
You can use the `get_entry` tool by providing the unique Arweave digest (transaction hash) of the article. This will fetch the full content, title, and author details.

**Does this integration allow me to publish new content to Mirror.xyz?**
No. The current set of tools is focused on querying and reading data (fetching entries and entry details). Publishing operations are not supported in this version.