Skip to content

Agent & MCP Tools

Scholardo runs a local MCP server for every open project. Any MCP-compatible agent that connects can search your library, read annotations, manage todos, and fetch papers — without leaving the terminal.

Supported agents

AgentNotes
Claude CodeRecommended. First-class support.
Codex CLIFully supported.
piFully supported, native MCP bridge.
DeepSeek / Kimi / GLM, etc.Via the Claude Code carrier.
Any MCP-compatible agentConfigure manually.

See Which AI should I choose? for the tradeoffs.

Connecting

Agents launched from Scholardo's right-hand pane connect automatically to the current project's MCP server — no configuration needed. This is one of the main reasons to run your agent inside Scholardo rather than in a separate terminal.

Each project gets its own MCP server and socket, managed by the app. Switch projects and the agent sees the new project's contents.

Verify the connection:

sh
scholardo-mcp list

This lists every tool available in the current project. To inspect one tool's arguments:

sh
scholardo-mcp describe search

Tool naming

Agents see tools under the MCP namespace prefix: mcp__scholardo__search. The names below are without the prefix — the same names scholardo-mcp describe takes.

Available tools

Search & retrieval

ToolPurpose
searchLibrary-wide search (lexical / dense / hybrid), see Semantic Search
get_itemFetch one item by ID
batch_get_itemsFetch several at once
list_sourcesList the project's sources
list_refsList reference entries
list_notesList notes

Annotations (read-only)

ToolPurpose
list_annotationsList all annotations on a document
get_annotationFetch one by ID
search_annotationsSearch by text or tag

Annotations are read-only to the agent

There is no write tool, by design. The agent can read all your markup to summarize and compare, but cannot create or modify it — marking up stays yours. See Annotations.

Notes & memory

ToolPurpose
create_note / update_noteCreate / update notes
save_memory / read_memory / update_memory / list_memoryRead and write the agent's long-term memory entries

Todos

ToolPurpose
list_todosList todos
create_todoCreate one
toggle_todoToggle done state
set_reminderSet a reminder

Paper discovery & retrieval

ToolPurpose
search_papersFederated paper-metadata search
search_openalexSearch OpenAlex
lookup_unpaywallLook up open-access full text
download_pdfDownload full text into Docs
pairing_auditReport gaps between Docs and Refs
queue_addAdd a paper to the reading queue

Feeds

add_feed · remove_feed · refresh_feed · set_feed_filter

See Feeds & Digests.

Active state ("what is the user looking at")

ToolPurpose
active_contextCurrent project / file / tab
preview_textText in the active preview
web_page_contextThe in-app browser's current page (requires explicit sharing)
active_roleCurrent agent role
context_statusContext status

Other

ToolPurpose
get_tags / set_tagsRead / write a file's Finder tags
get_writing_context / set_writing_contextRead / write the writing brief
get_rulesRead the active agent rules
get_settingsRead relevant settings
scholardo_list_agent_assetsList available skills / subagents / workflows
scholardo_slide_checkCheck a slide deck for content overflow
pingConnectivity check

Why two long names

Most tools use short names — MCP already namespaces calls by server, so a scholardo_ prefix is redundant. scholardo_list_agent_assets and scholardo_slide_check have not been folded into that rename yet.

Live resources

Beyond tools, Scholardo exposes MCP resources. Clients that speak the resource protocol (such as Claude Code) can attach them to context without spending a tool-call slot:

ResourceContents
scholardo://active/contextActive project and file
scholardo://active/preview-textText in the active preview
scholardo://active/web-page-contextThe in-app browser's current page

So when you say "summarize these and find related work," the agent knows what "these" refers to.

Calling from the command line

scholardo-mcp doubles as a CLI, letting tools without native MCP support reach Scholardo indirectly:

sh
scholardo-mcp call search '{"query": "solid electrolyte interphase impedance"}'

Other subcommands: list · describe <tool> · instructions

Too many tools?

Scholardo adapts how tools are exposed to each agent's capabilities — models with tight context windows get tool definitions loaded on demand, roomier ones get them up front. You do not need to configure this.

See also

Scholardo is a closed-source commercial product.