Bookends has added an MCP Server to Work with AI Tools

Great news for Bookends users. Users asked about the possibility to add an MCP server and a couple of months ago and Jon has coded this up and integrated it into Bookends V15.4.2. For those who don’t know what an MCP server is, it is a way for disparate tools to integrate with each other. The server advertises the tools it can provide and provides them when asked. This means Claude / ChatGPT can now know about all your references and can use that knowledge source directly. It can get the annotations you have made from your PDFs (highlighted phrases, comments) alongside your notes in bookends proper.

The MCP server also works as instructions for Bookends itself (the User Guide), so you can ask questions how to do something in Bookends and get guided answers informed by the user guide without a generic online search and potentially outdated information.

And there is a forum specifically for how to use AI with your Bookends database:

https://www.sonnysoftware.com/phpBB3/viewforum.php?f=9&sid=af70fc258cb06dd17686522c8592d1f7

2 Likes

That might actually encourage me to use AI. I was trying to get Bookends to create a .bib file which included the URL and access dates for internet references, but without success!

:slight_smile:
Mark

PS At the same time I am trying to get Pergamon from Typst Universe to work, also without success so far! :grin:

Access dates are a bit tricky in BibTeX, they are not listed in the Jabref docs common fields, but in the BibLaTeX PDF there is a urldate field, and so the Bookends formatting would look like:

url = {$z}, $
urldate = {$u3},$

Here is a custom format where the Internet type adds url and Accessed Date (User3 field in Bookends, which is Accessed Date when the type is Internet): BibTeX-Custom.fmt.zip (2.3 KB) – the bookends forum is also quite quick to reply when you get stuck…

Here is what I got asking Opencode with the bookends MCP server the same question (though I know the answer):

> please use the bookends-mcp server to search how to add accessed date to a custom bibliography format?
+ Thought: 843ms
⚙bookends-mcp_bookends_user_guide_search [query=add accessed date to custom bibliography format, limit=6]
+ Thought: 2.0s
⚙bookends-mcp_bookends_user_guide_search [limit=6, query=accessed date field bibliography format custom output]
⚙bookends-mcp_bookends_user_guide_search [limit=6, query=bibliography format field order date accessed URL customizing]
+ Thought: 2.9s

Based on the User Guide, here's how to add an accessed date to a custom bibliography format:
Bookends has no dedicated "accessed date" field. You store the date in a User-defined field (User1–User20), then reference it in your format's Field Order with the corresponding code (u1–u20).
Two steps:
1. Store the accessed date. You can either:
- Manually enter a date (e.g., "2026-07-12") into a User field like User3 in the reference edit pane, or
- Have Bookends auto-insert the current date on import: go to Settings → Misc tab, choose "Date" from the first pop-up menu, and select which field (e.g., User3) to place it into.
2. Output it in the format. In your custom bibliography format's Field Order, add the corresponding user field code. For example, a Field Order like:
a. t. u. Accessed u3.
...would output the URL field (u) followed by "Accessed" and the contents of User1. The full set of single-letter codes for user fields is u1 through u20.
▣  Build · DeepSeek V4 Pro 

Pretty OK…

That looks very specialised to me, what features do you need from it? You will certainly find CSL tools easier to get help on than such a specialised package.

1 Like

Here is an excellent Skill that uses the MCP sever:

You ask it for a report and it will use your refs and notes to write a nicely formatted HTML report:

I have a feeling that much of medical literature will end up being auto-compiled like this. The new academic workflow will be:

  • Authors use AI to auto-generate a paper
  • Authors submit to journal
  • Peer reviewers use AI to critique the paper
  • Editor uses AI to synthesize peer reviewer comments and ask for revisions
  • Authors use AI to respond to peer reviewer criticisms and resubmit
  • Paper gets accepted and published
  • Readers download paper and use AI to summarize the paper
  • PubMed also provides an AI-generated summary of the paper in its search results
  • Social media AI bots post about the paper
  • Social media AI bots reply to the post about the paper
  • Other authors use AI to perform systematic reviews, which include the paper, and then submit their own systematic review paper for publication

I jest, but only partly. I already see many students/trainees never reading the literature because they simply use AI to summarize things for them.

Tons of potential with AI… potentially good uses, and potential for abuse.

Only time will tell!

3 Likes

We’ll also see huge changes in the medical publishing industry. AI could decrease operational costs for a publisher. More “journals” will be created[1] (many of which already have been dubbed “predatory”). The plethora of journals will increase competition, decreasing marginal returns, so the journals will emphasize quantity over quality (publishing many more articles of lesser scientific rigor). Since most people won’t subscribe to a journal or read its contents from cover-to-cover anymore, but rather simply have AI summarize an interesting article for them, journals will start to compete based on a technical approach to increasing exposure of publications to AI scrapers, similar to search-engine optimization (SEO) in the early days of Google. So impact factor will now be AI-SEO factor. The cost of this will be passed on to the authors submitting to the journals. (Already, publication of an open-access article costs the author around $2500-$3000.) The AI-SEO factor may also bias AIs to emphasize certain sources over others.

I do believe there will emerge a counter-cultural push. I’ve already adopted a “Made by a Human” logo for many of the things I write. And I think there will be a sub-industry for hand-crafted and hand-curated writing.


  1. There are already way too many journals than are needed. ↩︎

3 Likes

I’ve read a few of those. So bad that I blocked both the authors and the journal that published them.

Read a few of those, too. Same.

I read enough technical papers that a good automated systematic review really would save me a ton of time. So far, though, I haven’t found anything that beats using a search engine and reading at least the abstracts myself.

5 Likes

I realise there are probably some fields where this may occur, but at least for a lot of biomedical research (with quality enough to submit to well established journals, particularly specialist or academic society journals) current AI models are nowhere near capable enough to make anything even resembling a bad quality paper. The way data is collated and narrated in a results section, the choices made based on often implicit rules specific to sub-fields. This is the engine to a biomedical paper, something that is clearly crafted by a human hand over months or years, and just like the weird physics glitches in generative AI images (because these models have no understanding of physical laws), these models cannot get this all right yet.

The reputational damage if a fabricated paper is published in established journals is significant, and so there is an incentive for editors to push back against low quality work, whether it is human or AI originated.

Maybe I am being too naive, but I just am not yet impressed enough by current models to do this yet. I do suspect the current push to agent harnesses and “council of models” workflows will start to break this incapacity (that latest models are incapable of writing a mediocre data-heavy paper) down, as many models work in endless loops to some defined end goal, the simulacrum (polishing the turd) gets ever more refined…

I have already got at least one review to my submissions that reeked of AI authorship, and I recognise that, given academics review for free, a serious peer review takes a lot of time and effort, often under huge other time constraints, it seems inevitable this proportion will increase. However, at least in that case, it was great for us, because we used the obvious AI-sloppiness of that review to trash the reviewer with the editor. As long as an editor stewards the review process well…

But a lot of academic life is much more than just report summaries documents, the pugilism of academic conferences where you go from morning to night from poster presentations, to talks. That you must defend your work if you present it in such conferences, or to your advisory committees. Journal clubs and meetings. Teaching student classes. Dinners with your peers. Vapid knowledge will not last too long, at least in the fields that I am acquainted with, you must prove your knowledge in myriad ways.

I think the recent popularity of the word “slop” indicates how significant the pushback is. I think artists and writers were the first to push back, also given that the first uses of generative AI was the synthetic regurgitation of their works most directly. The hidden biases inherent to current AI models are also clearly being pushed back on by differnet NGOs (among them the amusingly names Algorithmic Justice League) which hopefully tempers policy decisions further.


Back to Bookends — the point of an MCP server is somehow “anti-AI-generation” — you are using your database, your PDF annotations as the base for the report. You are not asking the model to synthesise freely, but to ground the report in the knowledge you curated in your database. This is a tool like any other, but one that constrains the model. You did the work to read the PDFs, to annotate them, highlight important parts, make notes. Curate your keywords. The MCP server allows the model to generally work within those knowledge boundaries. Think of it as a smarter search algorithm.

2 Likes

Agreed. I work in medicine. Many students and residents do not make time for reading. It’s a problem.

1 Like

Yep. It usually takes me 2-3 hours to do a thoughtful peer review of a medical, epidemiological, or health-services research paper. That time requirement is why I decline lots of invitations to review, choosing only the ones that are most interesting to me.

I think many peer reviewers will be tempted to use AI to cut down on the heavy lifting.[1]

I think a sweet spot here will be the editorial web sites implementing AI “quick checks” immediately upon submission – this step could raise some questions that the authors may address before a “real” submission. Simple but important things (grammar/spelling, formatting per journal style, misnumbered tables or figures, etc.) could be fixed right away. The system might even prompt clarifications of things that are unclear or possibly erroneous. And that might lead to a better paper upon “real” submission, which would save the reviewer time.


  1. And that’s just peer review of manuscripts. What will happen with grant study sections?! Oh! the horror! ↩︎

2 Likes

Totally agree that specialized AI tools baked into other tools (or connecting two tools) is a force-multiplier. It’s not much different, in theory, from a “macro button” like the cite-as-you-write connectors. It’s more flexible and powerful, and possibly with a lower learning curve. Definitely easier than hacking out a manuscript > Quarto > Pandoc > PDF pipeline… LOL.

I do think an MCP server that allows exploration of one’s reference library is great. “What was that paper by so-and-so that discussed this-and-that?” Boom, it’ll find it for you. “Which other authors drew similar conclusions as so-and-so?” Boom, there’s a list of 10 papers to review. “What other papers on Medline feature similar study design and methodologic approach, but applied to clinical condition Y instead of clinical condition X that was the focus of this paper?” Good luck searching for that with MeSH headings. So, yes, AI will help a lot with bibliographic steps.

As much as I criticized the risks of AI above (which are frustratingly real), nevertheless many of the use cases will be positive. Auto-generating first drafts of abstracts, indexes, glossaries, etc., would be great. I could imagine this being baked-into a future version of Word as a toolbar button.

I also think LLMs are an interesting means for brainstorming and working out ideas. I have been doing this for my textbook on causal inference, wrestling with the best approach to explain a topic. I can go from the abstract (theory) to practical (example) with ease, can change my mind, revise the outline, generate some boilerplate code to test something out, change my mind again, rinse, repeat. Using the LLM in this way is basically me thinking aloud, with a tool that speeds up iteration.

1 Like

This is a genuinely useful use of MCP. Being able to query your own references, notes, and PDF annotations directly is a lot more valuable than relying on generic web searches. Nice to see practical AI integration instead of just adding AI for the sake of it.

2 Likes

Thanks for your help, as always, Ian!

That custom format you sent me saves me having to get immersed in AI, and I have managed to modify it to include the year in the access date.

For the rest, remember in this I am just a “hobbyist”, keeping my aged brain active. I’m trying Pergamon having read and followed the showcase posted on the Typst forum, since (1) it accesses the bibliography in BiBTeX format, rather than Hayagriva, which seems to be the native format for Typst, and (2) the code involved is all Typst code, with no recourse to Pandoc or Quarto. I’ll post a question on the Typst forum about getting Pergamon to work.

I found that I got completely muddled in the project template you posted with the involvement of Pandoc, Lua and Ruby scripts… so I decided to start from scratch just using Typst. I have now successfully created my own Scrivener-Typst project for my recipe collection with ingredients tables, margin notes and tip boxes, which currently compiles 64 pages in about 1 second. I have a couple of things re title page etc. that I need to sort out and the bibliography. I’ve also used it as a basis for other projects, and am slowly producing an annotated general Scrivener-Typst project from it which I will post here when it’s done.

For all experimental work, I either use the Typst web-app, or now also Edist, a native-Mac Typst editor (there is another mathematics/physics-oriented Typst editor, Hilbert but that doesn’t suit me!) When I’ve sorted issues on either of those platforms, I can then integrate the code into my Scrivener project.

:slight_smile:
Mark

3 Likes

Kudos to your flexibility and willingness to learn :heart_eyes: — specifically though the native Typst bibliography mechanism can be in EITHER yaml or biblatex: Bibliography - Typst Documentation and it does not use any markdown either. I have templates for native Typst citations and it is very easy to implement, pure typst and no markdown needed. The difference as I see it is that pergamon declares the bibliography styles as Typst, whereas the native Typst tool uses the well-established CSL styles (1000s to choose from, an XML format). As 99.9% of users do not need to make their own styles, you do not need to write CSL, you just download the styles as needed…

2 Likes

Thanks for this. It’s made playing with Typst a lot easier for me – and as a corollary, made it easier to understand the web-app. I’ve managed to convert a couple of technical works, and finally got to grips with templates, include and import. I found a couple of problems, too, but this is probably not the right place to go into them.

Glad you’ve found it useful. I’ve always found the web-app very useable— I generally use iCab for that so I’m not distracted by other concerns like these forums.

Are the problems you’ve found with Edist or with Typst itself? I am currently struggling with creating a bibliography, and while I get the same results with Edist and the web-app, debugging is more secure with the latter as I can be sure it’s not a problem with the Edist implementation of Typst.

I have to say I’m really glad he has implemented window saving and restoring. With a 27" studio monitor, always opening in full-screen and having to resize the window to realistic proportions was a niggle!

But in general, I’m really happy with it.

:slight_smile:
Mark

The problems are with Edist not typst. Basically: it doesn’t support yaml files, which are supported by typst; and preview breaks when working on two (or ore) projects simultaneously.

Like you, I reverted to the web-app for any debugging, since it’s effectively canonical.

My only, very limited experience of YAML is with the text expander “Espanso”. I did briefly look at the compiler on IOS-Scrivener, but since I have hardly used that, preferring my MBA to work on, I didn’t pursue it. I’m sure Jules will sort Edist out for YAML since that is the format of a Hayagriva bibliography.

I haven’t tried opening more than one project at any time. Next time I have a moment, I’ll check what’s happening on my system.

:slight_smile:

Mark

1 Like

Here was a very practical demonstration of this MCP server (and the unofficial Scrivener one) :+1:

I am working on a manuscript in Scrivener. My citations are in pandoc format [@citekey]. I wanted to extract all the citations.

  1. Scrivener MCP https://github.com/writerslogic/scrivener-mcp read from my Scrivener binder and could extract out the pandoc citekeys: here was my prompt:

Can you extract all the pandoc citations which have the form @citekey from Scrivener’s open project Yong etal document and make a new document with them as a list?

  1. It extracted 41 citekeys for me into a new binder doc[1], but really I realised I wanted a Bookends group. So next i asked:

Can you take the 41 @citekey citations in Yong etal and search for them in Bookends, adding them to a new group?

  1. The agent has some problems with the bookends search tooling (a temporary problem I think), but after I suggested to try applescript, it managed to find all the references from my Scrivneer document and create a new group.

This sort of thing would have taken around 30 minutes tedious work previously, now condensed to a couple of minutes (would be even less without the tooling error).



  1. not great to be honest as Scrivener cannot recognise it without a restart. I had also backed up my project and i am geek enough to know exactly what is going on under the hood, casual users: please know what you are doing, this is unsupported by L&L for good reason. ↩︎

1 Like