Published NFT Literature MCP Server
Officialby publishednft
README.md
# Published NFT — Literature MCP Server
Open-source [Model Context Protocol](https://modelcontextprotocol.io)-style knowledge-base
server for [Published NFT](https://publishednft.io) — the Flow-blockchain marketplace for books
and literary NFTs. It gives AI assistants (Claude, Cursor, and any MCP/REST client) real-time
access to the Published NFT documentation, NFT collections, Flow blockchain education, pricing,
bookmarks, decorations, and the Published Daily newspaper.
This is the runnable, framework-agnostic extraction of the server hosted at
**`https://publishednft.io/api/mcp`** (which powers the "Cindy" voice agent).
## Tools
| Tool | What it does |
|------|--------------|
| `searchDocumentation` | Full-text search across the bundled docs (relevance-ranked). |
| `getCollectionInfo` | Details for an NFT collection (Genesis Pass, BOAST6, classics, …). |
| `getFlowBlockchainInfo` | Flow blockchain concepts — Cadence, FCL, wallets, testnet/mainnet. |
| `getPricingInfo` | Current prices and payment methods (DUC / FLOW / USD). |
| `getBookmarksInfo` | Literary bookmark NFTs and their traits. |
| `getDecorationsInfo` | Avatar decorations (frames, stamps, spines, bookplates). |
| `getAppFeaturesInfo` | Platform features (VR/AR reading, EPUB reader, AI assistant, …). |
| `getNewspaperInfo` | The Published Daily on-chain newspaper. |
## Transport (REST)
```
GET / → health check + tool list
POST / → { "tool": "<name>", "args": { ... } } → { success, tool, result }
```
Both `{ "tool", "args" }` and `{ "name", "arguments" }` request shapes are accepted.
## Run it
Requires Node ≥ 18.
```bash
git clone https://github.com/publishednft/mcp-literature-server.git
cd mcp-literature-server
npm install
npm start # tsx src/server.ts → http://localhost:8000
# or build + serve
npm run build && npm run serve
```
```bash
# Health
curl http://localhost:8000
# Search
curl -X POST http://localhost:8000 \
-H 'Content-Type: application/json' \
-d '{ "tool": "searchDocumentation", "args": { "query": "genesis pass" } }'
# Pricing
curl -X POST http://localhost:8000 \
-d '{ "tool": "getPricingInfo", "args": {} }'
```
`PORT` env var overrides the default `8000`.
## Use the hosted server (no install)
Point any MCP/SSE-capable client at the live endpoint:
```
https://publishednft.io/api/mcp?userId=YOUR_WALLET_ADDRESS
```
See the connect guide at **https://publishednft.io/mcp**.
## Project layout
```
src/
server.ts # plain Node HTTP server (GET health / POST dispatch)
tools/ # the 8 tool handlers + zod schemas
utils/ # markdown loader, search index, helpers
docs/ # the literature knowledge base (markdown)
```
The only runtime dependency is [`zod`](https://github.com/colinhacks/zod) (schema validation);
everything else is Node builtins.
## License
[MIT](./LICENSE) © Published NFT
This server cannot be deployed
Maintenance
ActivityInactive
ResponsivenessNo issues