# 15 years of hand-curated architecture, art and design as an MCP server

> Source: <https://www.thisispaper.com/intelligence/api-docs>
> Published: 2026-07-23 14:42:38+00:00

[←Intelligence](/intelligence/map)

Thisispaper is an independent art, architecture and design publication. Every project in the archive was curated by human editors since 2011.

# The curated-taste API

Search, similarity and taste metadata over **2,500+** hand-selected
architecture, design, photography and art projects. Two decades of editorial
judgement, exposed as a clean HTTP API and a native MCP server for AI agents.

Questions: [studio@thisispaper.com](mailto:studio@thisispaper.com)

## Try it in 30 seconds

The MCP endpoint answers anonymously, no key and no signup. Anonymous calls are capped at 5 results; a free key (200 calls/month) unlocks full results.

```
curl -X POST https://www.thisispaper.com/intelligence/api/mcp \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",
       "params":{"name":"search_projects",
                 "arguments":{"query":"concrete chapel"}}}'
```

Or skip curl entirely: [add the server to your AI client](#add-to-client)
and ask it to search Thisispaper.

## For AI agents (MCP)

The catalog is a remote **Model Context Protocol** server
(Streamable HTTP, stateless), so Claude, ChatGPT and other AI agents can query it natively:

```
https://www.thisispaper.com/intelligence/api/mcp
```

Without a key the tools run in anonymous preview mode, capped at 5 results.
Add `Authorization: Bearer tip_live_...`

to the connector for full,
metered access. An agent can even mint its own key mid-conversation with
`get_api_key`

.

The server exposes nine tools:

Search the curated catalog by keywords. Args: `query`

(required), `limit`

(max 20). Returns ranked project summaries: name, studio, city, year, category, intro, thumbnail, URL, `citation_url`

, `provenance`

.

Search by taste metadata: `material`

, `light`

, `color`

,
`mood`

, `composition`

, `subject`

.
Unique to Thisispaper: these tags were written during human curation. Pass at least
one dimension, e.g. `{"material": "rammed earth", "light": "dusk"}`

.
Results are ranked by how many dimensions match, then by recency.

Newest projects first. Optional `category`

filter: architecture, interiors, design, photography or art.

One project chosen at random from the archive. Editorial serendipity, the way a reader opens a magazine to an unplanned spread. No arguments.

Visual + semantic neighbours for a project `slug`

(precomputed SigLIP neighbours).

Full metadata for one `slug`

: description, design language, details, taste dimensions, URL, citation URL, provenance.

Mints a free API key (200 calls/month) for your `email`

, right from the conversation. The key is shown once. Max 3 keys per email.

Connector-contract search for clients that follow the ChatGPT connector spec.
Takes a `query`

, returns results as id, title and url. ChatGPT calls this tool in
normal chat.

Connector-contract fetch: takes an `id`

from search and returns the full record with
title, text, url and metadata. The result also embeds the project's real thumbnail
image (up to 2 MB), which image-capable clients render inline.

Any MCP client works; no session or OAuth handshake is required.

## Add to your client

Settings → Connectors → Add custom connector, then paste the server URL. Connectors added on claude.ai sync to Claude Desktop.

```
claude mcp add --transport http thisispaper \
  https://www.thisispaper.com/intelligence/api/mcp
```

Settings → Connectors → add the server URL. Works in normal chat through
the `search`

and `fetch`

tools.

In `~/.codex/config.toml`

:

```
[mcp_servers.thisispaper]
url = "https://www.thisispaper.com/intelligence/api/mcp"
gemini extensions install https://github.com/zaxarovcom/thisispaper-mcp
```

A local stdio bridge to the same server, for clients without HTTP transport:

```
npx thisispaper-mcp
```

Any other client that speaks Streamable HTTP: point it at the URL above, or bridge
via `npx mcp-remote https://www.thisispaper.com/intelligence/api/mcp`

.

Tested with Claude, ChatGPT, Codex, Grok, Gemini and Cursor.

## Prompts worth stealing

Once the connector is added, ask your agent in plain language. Lines that work:

- Architecture"houses that stay cool without machines"
- Architecture"concrete chapels in the Alps"
- Photography"documentary photographers of vanishing ways of life"
- Photography"portraits of remote communities"
- Art"installations that use light as material"
- Art"sculpture in aluminium"
- Design"chairs that made minimalism warm"
- Design"furniture in raw aluminium"
- Interiors"apartments under 65 square meters that feel generous"
- Taste search"material rammed earth, light dusk"
- Taste search"mood melancholic, composition frontal"

## REST API

The same catalog over plain `GET`

endpoints. Base URL:

```
https://www.thisispaper.com/intelligence/api/v1
```

All endpoints return JSON and are CORS-open for browser apps. REST calls require
an API key ([free, self-serve below](#get-key)); pass it as a bearer
token, or `?key=`

for quick tests:

```
curl "https://www.thisispaper.com/intelligence/api/v1/search?q=concrete+chapel" \
  -H "Authorization: Bearer tip_live_..."
```

Every response carries `X-RateLimit-Limit`

and
`X-RateLimit-Remaining`

headers.

Lexical search across name, studio, city, category and intro.

```
GET /search?q=japanese+teahouse&limit=10
{
  "query": "japanese teahouse",
  "count": 10,
  "results": [
    {
      "slug": "audeum-kengo-kuma",
      "name": "Audeum Audio Museum by Kengo Kuma",
      "studio": "Kengo Kuma & Associates",
      "city": "Seoul, South Korea",
      "year": "2024",
      "category": "Architecture",
      "intro": "...",
      "published": "2026-01-26",
      "thumbnail": "https://cdn.prod.website-files.com/5d70caf362d15d860bedae09/69c77bdb45cde0df63c2c62d_6982103c8b8bca7f0d513282_thisispaper-audeum-by-kengo-kuma.webp",
      "url": "https://www.thisispaper.com/mag/audeum-kengo-kuma",
      "citation_url": "https://www.thisispaper.com/mag/audeum-kengo-kuma",
      "provenance": {
        "curated_by": "Thisispaper editors",
        "selected": "2026-01-26",
        "in_archive_since": 2026,
        "note": "One of 2,500+ projects selected by hand since 2011. Most of what we see is not published."
      },
      "score": 8.42
    }
  ]
}
```

Full metadata for one project, including description, design language and taste dimensions.

```
GET /project/audeum-kengo-kuma
```

Nearest projects by visual + semantic similarity (precomputed SigLIP neighbours).

```
GET /similar/audeum-kengo-kuma?limit=12
```

## Provenance

Every project response carries its provenance: who curated the work, the date it was
selected for the archive, and a permanent `citation_url`

you can cite or link.
These fields appear on every result from the REST endpoints and the MCP tools alike.
Fields with no recorded value are `null`

, never guessed.

```
"citation_url": "https://www.thisispaper.com/mag/audeum-kengo-kuma",
"provenance": {
  "curated_by": "Thisispaper editors",
  "selected": "2026-01-26",
  "in_archive_since": 2026,
  "note": "One of 2,500+ projects selected by hand since 2011. Most of what we see is not published."
}
```

## Get a free key

Enter your email. Your key is shown once, store it somewhere safe. Free tier: 200 calls/month, max 3 keys per email. The same key works on the REST endpoints and the MCP server.

## Pricing

Pay with the same email your key was issued to and the upgrade applies automatically. When a monthly quota runs out, calls return a clear error pointing back to this page; nothing is billed silently.
