Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
JABREF_MCP_PDF_ROOTNoOptional base dir for resolving relative attached paths
JABREF_MCP_BIB_FILESNoComma-separated .bib paths*.bib
JABREF_MCP_JABREF_BINNoJabRef executable or command prefix (e.g. flatpak-spawn --host jabref)jabref
JABREF_MCP_IMPORT_TIMEOUTNoImport timeout (seconds)90

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tasks
{
  "list": {},
  "cancel": {},
  "requests": {
    "tools": {
      "call": {}
    },
    "prompts": {
      "get": {}
    },
    "resources": {
      "read": {}
    }
  }
}
tools
{
  "listChanged": true
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
list_librariesA

List the configured JabRef libraries (the .bib files the server reads) with the number of parsed entries in each.

list_entriesA

List entries in the JabRef library (citation key, authors, year, title, venue, DOI), most useful for getting an overview or picking citation keys.

searchA

Search the JabRef library. Returns matching entries as 'key | authors | year | title | venue | doi'.

Args: query: space-separated terms; every term must match (AND). Matches case-insensitively across all fields (title, author, keywords, abstract, ...) unless field is given. field: restrict the search to a single BibTeX field, e.g. "title", "author", "year", "doi", "abstract". author: only entries whose author field contains this substring. year: exact year match (single entry year). year_from / year_to: inclusive year range. tag: only entries whose keywords/tags contain this substring. limit: maximum number of results (0 = no limit).

get_entryA

Get the full record for one citation key: complete BibTeX plus the resolved attached files (needed for summarization). Raises an error if the key does not exist.

get_pdfA

Return the absolute file paths of the PDFs attached to an entry, so the assistant can read and summarize them. Only existing files are returned; a key with no PDF raises an error.

add_entryA

Add a new entry to the JabRef library - the ONLY supported way of adding entries.

This imports the BibTeX through JabRef's official CLI API (jabref --importBibtex), which means:

  • the entry is added to the library that is OPEN in JabRef, with JabRef's own duplicate detection;

  • the .bib file is never modified by this server. Requires JabRef to be running with 'Listen to remote operation on port' enabled (Preferences -> Network), same as for the official browser extension.

Args: bibtex: a complete BibTeX entry, e.g. '@article{key, title={...}, author={...}, year={2024}}'. timeout: optional override of the import timeout in seconds.

Returns the canonical BibTeX that was sent to JabRef.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A3.9/5.0

Scored across 6 tools

Disambiguation4/5

The tools are largely distinct: list_* covers overviews, get_* retrieves full records/PDFs, search is filtered discovery, and add_entry is creation. The only mild overlap is list_entries vs search, since both return similar entry rows, but the unfiltered-vs-filtered purpose is clear from the descriptions.

Naming Consistency4/5

Names follow a mostly consistent list_/get_ verb pattern plus add_entry and search, with clear nouns. The only deviation is plain search instead of something like search_entries, but it remains predictable.

Tool Count5/5

Six tools cover the core interaction model of a JabRef library assistant without bloat. Each tool is non-redundant and earns a place in the set.

Completeness3/5

The read/add surface is solid: libraries, entries, full records, search, and PDF retrieval are covered. However, typical CRUD expectations are incomplete because there are no update or delete entry operations, and no way to manage attachments or libraries beyond adding BibTeX.

Maintenance

ActivityNo data
ResponsivenessNo issues