ResearchTwin MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| RESEARCHTWIN_HOST | No | Bind address. Keeping this default permits trusted LAN clients to reach the service. | 0.0.0.0 |
| RESEARCHTWIN_PORT | No | TCP port used by the selected transport. | 8000 |
| RESEARCHTWIN_DATA_DIR | No | Local persistence directory, resolved relative to the repository root when relative. | runtime_data |
| RESEARCHTWIN_LOG_LEVEL | No | Python log level. | INFO |
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
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| record_research_activityB | Record a concrete research activity when the user reports completed work, experiments, reading, problems, results, or next steps. This persists research progress for later retrieval and reporting. activity_type must be one of: analysis, coding, data_collection, debugging, experiment, meeting, other, paper_reading, writing. |
| list_research_activitiesA | Retrieve persisted research history for questions about past work, recent experiments, or unresolved problems. Supports optional date, activity type, and tag filters. |
| update_project_statusB | Persist the current research project stage, completed work, pending work, risks, and important decisions. Use merge mode to preserve and de-duplicate existing history, or replace mode for an intentional full status replacement. merge_mode must be one of: merge, replace. |
| get_project_statusA | Retrieve the complete persisted project status when the user asks what stage the project is in, which risks remain, or what should happen next. |
| record_advisor_instructionA | Persist a structured advisor requirement after the ResearchTwin Agent has interpreted an advisor message. Use it for a task, priority, deadline, constraints, or follow-up that must appear in later reports. priority must be one of: critical, high, low, medium. |
| record_candidate_intelligenceA | Record a newly discovered paper, repository, web item, advisor lead, or other external candidate that may be relevant to the project. This does not validate or adopt it as project knowledge. source_type must be one of: advisor, github, news, other, paper, web. |
| list_candidate_intelligenceA | List recent candidate intelligence without presenting it as verified or adopted project knowledge. Filter by lifecycle status, source type, or a related project-issue substring when useful. |
| update_candidate_statusA | Advance a candidate through discovered, shortlisted, validated, promoted, or rejected. The lifecycle is strict: discovered -> shortlisted/rejected, shortlisted -> validated/rejected, validated -> promoted/rejected; promoted and rejected are idempotent only. Promotion records user approval and evidence but does not write to a knowledge base. |
| generate_research_reportA | Generate a weekly, meeting, or stage research report from persisted research activities, advisor instructions, and project status. The Markdown report is returned and safely saved under the configured local data directory. report_type must be one of: meeting, stage, weekly. |
| get_research_contextB | Read-only aggregate of current project status, recent activities, advisor instructions, and candidate intelligence. |
| search_external_researchA | Search public arXiv and GitHub sources and return raw normalized results; nothing is persisted or promoted. |
| record_research_intelligence_briefC | Persist an Agent-generated research intelligence brief; this is a communication artifact, not project knowledge. |
| list_research_intelligence_briefsA | List persisted intelligence brief artifacts newest first. |
| prepare_project_knowledgeA | Prepare an auditable Markdown knowledge artifact from a promoted candidate; does not contact Bailian. |
| sync_project_knowledge_to_bailianB | Synchronize prepared project knowledge after explicit user confirmation. |
| list_project_knowledgeC | List local project knowledge records and synchronization status. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 16 tools
Most tools target distinct entities and actions, and the record_*/list_*/update_* prefixes help separate workflows. There is some potential confusion between record_research_activity and update_project_status, or between candidate intelligence and intelligence briefs, but the descriptions clarify the differences.
All tool names use a consistent snake_case verb_noun pattern, such as record_*, list_*, update_*, get_*, and sync_*. The naming is predictable and makes the purpose of each tool immediately understandable.
At 16 tools, the server is slightly above the typical 3-15 well-scoped range, but the tools map to a broad but coherent set of research workflows: tracking, reporting, candidate intelligence, and knowledge sync. Each tool has a defined role, so the count is reasonable.
The tool surface covers the main lifecycle stages: recording activities and status, managing advisor instructions, triaging candidates, generating reports, and syncing project knowledge. Minor gaps exist, such as no update/delete for activities or briefs, but these feel like intentional append-only patterns rather than blocking omissions.