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
| Agent | Notes |
|---|---|
| Claude Code | Recommended. First-class support. |
| Codex CLI | Fully supported. |
| pi | Fully supported, native MCP bridge. |
| DeepSeek / Kimi / GLM, etc. | Via the Claude Code carrier. |
| Any MCP-compatible agent | Configure 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:
scholardo-mcp listThis lists every tool available in the current project. To inspect one tool's arguments:
scholardo-mcp describe searchTool 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
| Tool | Purpose |
|---|---|
search | Library-wide search (lexical / dense / hybrid), see Semantic Search |
get_item | Fetch one item by ID |
batch_get_items | Fetch several at once |
list_sources | List the project's sources |
list_refs | List reference entries |
list_notes | List notes |
Annotations (read-only)
| Tool | Purpose |
|---|---|
list_annotations | List all annotations on a document |
get_annotation | Fetch one by ID |
search_annotations | Search 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
| Tool | Purpose |
|---|---|
create_note / update_note | Create / update notes |
save_memory / read_memory / update_memory / list_memory | Read and write the agent's long-term memory entries |
Todos
| Tool | Purpose |
|---|---|
list_todos | List todos |
create_todo | Create one |
toggle_todo | Toggle done state |
set_reminder | Set a reminder |
Paper discovery & retrieval
| Tool | Purpose |
|---|---|
search_papers | Federated paper-metadata search |
search_openalex | Search OpenAlex |
lookup_unpaywall | Look up open-access full text |
download_pdf | Download full text into Docs |
pairing_audit | Report gaps between Docs and Refs |
queue_add | Add 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")
| Tool | Purpose |
|---|---|
active_context | Current project / file / tab |
preview_text | Text in the active preview |
web_page_context | The in-app browser's current page (requires explicit sharing) |
active_role | Current agent role |
context_status | Context status |
Other
| Tool | Purpose |
|---|---|
get_tags / set_tags | Read / write a file's Finder tags |
get_writing_context / set_writing_context | Read / write the writing brief |
get_rules | Read the active agent rules |
get_settings | Read relevant settings |
scholardo_list_agent_assets | List available skills / subagents / workflows |
scholardo_slide_check | Check a slide deck for content overflow |
ping | Connectivity 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:
| Resource | Contents |
|---|---|
scholardo://active/context | Active project and file |
scholardo://active/preview-text | Text in the active preview |
scholardo://active/web-page-context | The 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:
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
- Semantic Search — the retrieval behind
search - Annotations — why annotations are read-only

