Inspiration

Like many readers, I kept adding books to my reading list faster than I could finish them. When it was time to choose my next book, the list itself wasn’t much help.

That made me wonder: what if my reading list could understand my taste and explain it directly to an AI?

What it does

TBR helps me track books I want to read, have finished, or gave up on. I can search Open Library, rate books, import my Goodreads list, and explore patterns in my reading.

I can also ask an AI agent to search and manage my shelves. It can learn which authors I love, what I tend to abandon, and what I’ve enjoyed recently before recommending my next book.

How I built it

I built TBR with Next.js, React, TypeScript, and Tailwind CSS. It has no backend or login—my library stays privately in my browser, while book information comes from Open Library.

I created seven WebMCP tools and connected them to the same store as the interface. When an agent adds or updates a book, I see the change immediately.

Challenges I ran into

The biggest challenge was WebMCP’s 1,500-character output limit. I couldn’t send an agent my entire reading history, so I designed TBR to turn it into a compact taste profile.

I also worked around differences between WebMCP implementations, imperfect catalogue results, and the risks of public data. I also made sure destructive actions always require human approval, to prevent agent "fixes" doing more harm than good.

Accomplishments that I’m proud of

I’m proud that TBR feels like a real reading app rather than a technical demo. It works without AI, needs no account, and keeps me in control of my data.

The taste profile is my favourite part. It can turn a large library into useful observations, such as identifying my favourite authors or noticing who I repeatedly abandon.

What I learned

I learned that building good agent tools involves much more than exposing a few functions. Tool names, descriptions, errors, safety labels, and response sizes all affect how reliably an agent behaves.

I also learned that an agent doesn’t always need more data—it often needs better context. Letting my application summarize what it already understands produces better results with less noise.

What’s next for TBR

I’d like recommendations to consider more than ratings, including genre, reading pace, recent interests, and what I’m in the mood for.

I also want to improve catalogue matching, add more ways to import and export my library, and expand compatibility as WebMCP develops.

Built With

Share this project:

Updates

Submission history