ResearchPilot
Plan and verify evidence-aware research workflows with specialist execution receipts.
我该使用它吗
质量与安全性
发现(14)
- LOW在 researchpilot_search_literature 中
- LOW在 researchpilot_research_registry 中
- LOW在 researchpilot_build_collection_recipe 中
- LOW在 researchpilot_content_analysis_template 中
- LOW在 researchpilot_text_analysis_pilot 中
- LOW在 researchpilot_read_handoff_evidence 中
- LOW在 researchpilot_get_project_context 中
- LOW在 researchpilot_update_user_preferences 中
- LOW在 researchpilot_record_routing_feedback 中
- LOW在 researchpilot_list_work_artifacts 中
基于对工具定义和协议合规性的自动分析。
上下文开销
这是每次将服务器的工具加载到模型上下文窗口时所消耗的大致 token 数。数值越高,可用于其他任务的注意力就越少。
安装
一键安装
将以下内容添加到你的 `claude_desktop_config.json` 文件中:
{
"mcpServers": {
"researchpilot": {
"url": "https://researchpilot-academy-production.up.railway.app/mcp"
}
}
}远程端点
https://researchpilot-academy-production.up.railway.app/mcpstreamable-http它能做什么
工具清单
工具(23)
🟢researchpilot_open_workspace
Open the interactive ResearchPilot workspace when the user wants to select a project, inspect method capability, review research context, or edit an instruction before continuing in the host AI conversation.
输入模式
{
"type": "object",
"properties": {},
"additionalProperties": false
}🟢researchpilot_capabilities
Read canonical ResearchPilot capability authority. Use this before claiming that ResearchPilot can directly execute a research method.
输入模式
{
"type": "object",
"properties": {},
"additionalProperties": false
}🟢researchpilot_check_method(capabilityId)
Check one ResearchPilot capability by canonical capability ID and distinguish discussion/planning, direct execution, certified core, registered engine, and specialist handoff.
输入模式
{
"type": "object",
"properties": {
"capabilityId": {
"type": "string",
"minLength": 1,
"maxLength": 120
}
},
"required": [
"capabilityId"
],
"additionalProperties": false
}🟢researchpilot_search_literature(query)
Search research literature through ResearchPilot's OpenAlex/Crossref adapter. Bibliographic verification is not scientific-quality or full-text verification.
输入模式
{
"type": "object",
"properties": {
"query": {
"type": "string",
"minLength": 1,
"maxLength": 1000
}
},
"required": [
"query"
],
"additionalProperties": false
}🟢researchpilot_search_datasets(query, scope)
Search ResearchPilot dataset/data-paper providers with explicit provider availability states. Returned records remain source candidates, not automatic dataset-fit approval.
输入模式
{
"type": "object",
"properties": {
"query": {
"type": "string",
"minLength": 1,
"maxLength": 500
},
"scope": {
"type": "string",
"enum": [
"korean",
"international",
"all"
],
"default": "all"
}
},
"required": [
"query"
],
"additionalProperties": false
}🟢researchpilot_research_registry(kind, query, limit)
Search ResearchPilot's unified method/model, source-provider, official-reference, or planned-plugin registry. Planning/discovery only; registry presence never authorizes execution or collection.
输入模式
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"enum": [
"methods",
"sourceProviders",
"references",
"plugins"
]
},
"query": {
"type": "string",
"maxLength": 500
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 50,
"default": 12
}
},
"required": [
"kind"
],
"additionalProperties": false
}🟢researchpilot_build_collection_recipe(goal, sourceType, query, period, targetSize)
Build a reproducible collection plan for YouTube metadata, web text, legal references, data APIs, or a bounded text corpus. This returns a plan only and never claims collection occurred.
输入模式
{
"type": "object",
"properties": {
"goal": {
"type": "string",
"minLength": 1,
"maxLength": 4000
},
"sourceType": {
"type": "string",
"enum": [
"youtube",
"web",
"legal",
"data_api",
"text_corpus"
]
},
"query": {
"type": "string",
"maxLength": 1000
},
"period": {
"type": "string",
"maxLength": 500
},
"targetSize": {
"type": "integer",
"minimum": 1,
"maximum": 10000000
}
},
"required": [
"goal",
"sourceType"
],
"additionalProperties": false
}🟢researchpilot_content_analysis_template(researchQuestion, approach, codingMode)
Create a bounded content-analysis codebook and validation skeleton with sampling/coding/context units, category contracts, pilot coding and human/AI validation requirements. Categories remain researcher proposals.
输入模式
{
"type": "object",
"properties": {
"researchQuestion": {
"type": "string",
"minLength": 1,
"maxLength": 4000
},
"approach": {
"type": "string",
"enum": [
"deductive",
"inductive",
"hybrid"
],
"default": "hybrid"
},
"codingMode": {
"type": "string",
"enum": [
"human",
"ai",
"hybrid"
],
"default": "hybrid"
}
},
"required": [
"researchQuestion"
],
"additionalProperties": false
}🟢researchpilot_text_analysis_pilot(researchQuestion, sourceType, query, period, targetSize, ...)
Create a bounded text-analysis pilot package: collection recipe, codebook skeleton, corpus manifest, pilot/validation plan, AG-UI state, and specialist handoff route. Design only; no coding or validation is claimed.
输入模式
{
"type": "object",
"properties": {
"researchQuestion": {
"type": "string",
"minLength": 1,
"maxLength": 4000
},
"sourceType": {
"type": "string",
"enum": [
"youtube",
"web",
"legal",
"data_api",
"text_corpus"
],
"default": "text_corpus"
},
"query": {
"type": "string",
"maxLength": 1000
},
"period": {
"type": "string",
"maxLength": 500
},
"targetSize": {
"type": "integer",
"minimum": 1,
"maximum": 10000000
},
"approach": {
"type": "string",
"enum": [
"deductive",
"inductive",
"hybrid"
],
"default": "hybrid"
},
"codingMode": {
"type": "string",
"enum": [
"human",
"ai",
"hybrid"
],
"default": "hybrid"
},
"corpusItems": {
"type": "array",
"maxItems": 200,
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 240
},
"title": {
"type": "string",
"maxLength": 500
},
"source": {
"type": "string",
"maxLength": 1000
},
"text": {
"type": "string",
"maxLength": 200000
},
"digest": {
"type": "string",
"maxLength": 240
},
"provenance": {
"type": "string",
"maxLength": 1000
}
},
"required": [
"id"
],
"additionalProperties": false
}
},
"categories": {
"type": "array",
"maxItems": 100,
"items": {
"type": "string",
"maxLength": 240
}
}
},
"required": [
"researchQuestion"
],
"additionalProperties": false
}🟢researchpilot_handoff_summary(handoff)
Validate the outer ResearchPilot specialist handoff identity and return a bounded context summary without source bodies. Use the original handoff package as the authority.
输入模式
{
"type": "object",
"properties": {
"handoff": {
"type": "object"
}
},
"required": [
"handoff"
],
"additionalProperties": false
}🟢researchpilot_handoff_context(handoff)
Read the immutable ResearchContext snapshot carried by a ResearchPilot handoff, including an evidence catalog without source bodies. This does not mutate Studio state or authorize execution.
输入模式
{
"type": "object",
"properties": {
"handoff": {
"type": "object"
}
},
"required": [
"handoff"
],
"additionalProperties": false
}🟢researchpilot_read_handoff_evidence(handoff, sourceId, offset)
Read one exact evidence page from a ResearchPilot handoff after verifying the outer source digest against the immutable ResearchContext snapshot.
输入模式
{
"type": "object",
"properties": {
"handoff": {
"type": "object"
},
"sourceId": {
"type": "string",
"minLength": 1,
"maxLength": 240
},
"offset": {
"type": "integer",
"minimum": 0,
"default": 0
}
},
"required": [
"handoff",
"sourceId"
],
"additionalProperties": false
}🟢researchpilot_get_profile
Return the authenticated ResearchPilot user profile for the current OAuth connection. Use only for user identity/personalization, not as research evidence.
输入模式
{
"type": "object",
"properties": {},
"additionalProperties": false
}输出模式
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"pattern": "\\S"
},
"name": {
"type": "string"
},
"email": {
"type": "string"
},
"nickname": {
"type": "string"
}
},
"required": [
"id"
],
"additionalProperties": false
}🟢researchpilot_list_projects
List the authenticated user's active ResearchPilot projects, newest first. Use before choosing a project when the user's phrase such as 'my study' is ambiguous.
输入模式
{
"type": "object",
"properties": {},
"additionalProperties": false
}🟢researchpilot_get_project_context(projectId)
Read one authenticated user's cloud ResearchPilot project state: research question, decisions, analysis/result summaries, stale state, source identities/digests and local-artifact availability. Raw local research files are intentionally absent.
输入模式
{
"type": "object",
"properties": {
"projectId": {
"type": "string",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
}
},
"required": [
"projectId"
],
"additionalProperties": false
}🟢researchpilot_get_user_memory
Read the authenticated user's ResearchPilot working preferences and bounded routing history. These are workflow/presentation signals, never scientific authority.
输入模式
{
"type": "object",
"properties": {},
"additionalProperties": false
}🟡researchpilot_update_user_preferences(answerStyle, resultFirst, writingVoice, avoidTextbookStyle, preferEvidenceBeforeAdvice, ...)
Update bounded ResearchPilot working/writing preferences only when the user explicitly states a stable preference. These preferences affect presentation/workflow, never scientific authority or method validity.
输入模式
{
"type": "object",
"properties": {
"answerStyle": {
"type": [
"string",
"null"
],
"enum": [
"concise",
"standard",
"deep",
null
]
},
"resultFirst": {
"type": [
"boolean",
"null"
]
},
"writingVoice": {
"type": [
"string",
"null"
],
"enum": [
"restrained",
"analytic",
"argumentative",
null
]
},
"avoidTextbookStyle": {
"type": [
"boolean",
"null"
]
},
"preferEvidenceBeforeAdvice": {
"type": [
"boolean",
"null"
]
},
"preferredOutput": {
"type": [
"string",
"null"
],
"enum": [
"chat",
"word",
"markdown",
null
]
},
"discipline": {
"type": [
"string",
"null"
],
"maxLength": 200
},
"targetGenre": {
"type": [
"string",
"null"
],
"enum": [
"journal_article",
"research_proposal",
"policy_report",
"presentation",
"general",
null
]
},
"citationStyle": {
"type": [
"string",
"null"
],
"maxLength": 100
}
},
"additionalProperties": false
}⚪researchpilot_record_routing_feedback(projectId, taskFamily, capabilityId, toolName, outcome, ...)
Record explicit user feedback about a ResearchPilot capability/tool outcome. Call only when the user explicitly accepts, rejects, corrects, or reports failure/success. Do not store the user's full research question or source text.
输入模式
{
"type": "object",
"properties": {
"projectId": {
"type": [
"string",
"null"
],
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"taskFamily": {
"type": "string",
"minLength": 1,
"maxLength": 160
},
"capabilityId": {
"type": [
"string",
"null"
],
"maxLength": 160
},
"toolName": {
"type": [
"string",
"null"
],
"maxLength": 200
},
"outcome": {
"type": "string",
"enum": [
"SUCCEEDED",
"FAILED",
"ACCEPTED",
"REJECTED",
"CORRECTED"
]
},
"feedback": {
"type": [
"string",
"null"
],
"maxLength": 1000
}
},
"required": [
"taskFamily",
"outcome"
],
"additionalProperties": false
}🟢researchpilot_list_work_artifacts(projectId)
List saved working artifacts for one authenticated ResearchPilot project. Use this to continue prior host-AI plans, interpretations, critiques, or drafts without treating them as researcher-approved canonical decisions.
输入模式
{
"type": "object",
"properties": {
"projectId": {
"type": "string",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
}
},
"required": [
"projectId"
],
"additionalProperties": false
}🟢researchpilot_read_work_artifact(projectId, artifactId)
Read one saved working artifact after verifying that both project and artifact belong to the authenticated ResearchPilot owner.
输入模式
{
"type": "object",
"properties": {
"projectId": {
"type": "string",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"artifactId": {
"type": "string",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
}
},
"required": [
"projectId",
"artifactId"
],
"additionalProperties": false
}🟢researchpilot_prepare_specialist_execution(projectId, capabilityId, requestedWork, rigor, requiredOutputs)
Prepare a rigorous specialist execution request bound to the authenticated project, exact ResearchContext digest, capability authority, and input artifact digests. This does not execute the analysis or transfer local raw files.
输入模式
{
"type": "object",
"properties": {
"projectId": {
"type": "string",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"capabilityId": {
"type": "string",
"minLength": 1,
"maxLength": 160
},
"requestedWork": {
"type": "string",
"minLength": 1,
"maxLength": 4000
},
"rigor": {
"type": "string",
"enum": [
"STANDARD",
"HIGH",
"INDEPENDENT_VALIDATION_REQUIRED"
],
"default": "HIGH"
},
"requiredOutputs": {
"type": "array",
"items": {
"type": "string",
"maxLength": 120
},
"maxItems": 50
}
},
"required": [
"projectId",
"capabilityId",
"requestedWork"
],
"additionalProperties": false
}🟢researchpilot_validate_specialist_receipt(request, receipt)
Validate a specialist execution receipt against its ResearchPilot request and authenticated project/context identity. This verifies identity, input digests, sample accounting, diagnostics and validation-state structure; it does not independently validate scientific correctness.
输入模式
{
"type": "object",
"properties": {
"request": {
"type": "object"
},
"receipt": {
"type": "object"
}
},
"required": [
"request",
"receipt"
],
"additionalProperties": false
}🟡researchpilot_save_work_artifact(projectId, contextDigest, kind, title, text, ...)
Save a substantive project-specific plan, interpretation, critique, draft, or specialist result as a non-canonical WORKING artifact. Use for durable ResearchPilot continuity; this never accepts a research decision or authorizes execution.
输入模式
{
"type": "object",
"properties": {
"projectId": {
"type": "string",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"contextDigest": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"kind": {
"type": "string",
"enum": [
"research_plan",
"analysis_interpretation",
"critical_review",
"draft",
"specialist_result",
"research_note"
]
},
"title": {
"type": "string",
"minLength": 1,
"maxLength": 500
},
"text": {
"type": "string",
"minLength": 1,
"maxLength": 200000
},
"sourceRefs": {
"type": "array",
"items": {
"type": "string",
"maxLength": 240
},
"maxItems": 200
}
},
"required": [
"projectId",
"contextDigest",
"kind",
"title",
"text"
],
"additionalProperties": false
}社区
证据