ResearchPilot
Plan and verify evidence-aware research workflows with specialist execution receipts.
사용해야 할까요
품질 및 안전성
발견 사항 (14)
- LOWresearchpilot_search_literature에서
- LOWresearchpilot_research_registry에서
- LOWresearchpilot_build_collection_recipe에서
- LOWresearchpilot_content_analysis_template에서
- LOWresearchpilot_text_analysis_pilot에서
- LOWresearchpilot_read_handoff_evidence에서
- LOWresearchpilot_get_project_context에서
- LOWresearchpilot_update_user_preferences에서
- LOWresearchpilot_record_routing_feedback에서
- LOWresearchpilot_list_work_artifacts에서
도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.
컨텍스트 비용
이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.
설치
원클릭 설치
`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
}커뮤니티
증거