Moltline Research Desk
7 research navigation, thesis, note-taking and citation skill products. 6 of 8 free.
사용해야 할까요
품질 및 안전성
도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.
컨텍스트 비용
이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.
설치
원클릭 설치
`claude_desktop_config.json` 파일에 다음을 추가하세요:
{
"mcpServers": {
"research": {
"url": "https://mcp.moltlinestudio.com/research"
}
}
}원격 엔드포인트
https://mcp.moltlinestudio.com/researchstreamable-http할 수 있는 일
도구 목록
도구 (8)
🟢list_products
List every product in the Research Desk line with its included skills. FREE. Takes no arguments. Returns a list of 7 product objects, each {"slug": "thesis-advisor", "name": ..., "tagline": ..., "skills": ["Skill A", ...], "free_skill": "Gateway Skill Name"}. Use the returned slug values with get_free_skill, get_full_product, or get_full_skill. Returns metadata only - no persona text and no skill instructions. Use when the caller wants to see what this server covers. Not for keyword search across the whole 138-product catalog, which the catalog server's search_catalog does, and not for instructions the caller can act on (get_free_skill). Errors: on invalid, missing, or malformed input this tool never raises a protocol error — it returns {"error": "<what is wrong and how to fix it>"}. Every call is read-only and idempotent, so after correcting the input it is always safe to retry.
입력 스키마
{
"type": "object",
"properties": {},
"additionalProperties": false
}출력 스키마
{
"type": "object",
"properties": {
"result": {
"items": {
"additionalProperties": true,
"type": "object"
},
"type": "array"
}
},
"required": [
"result"
],
"x-fastmcp-wrap-result": true
}🟢get_free_skill(slug)
Load a product's free gateway skill with its complete instructions. FREE. Typical input {"slug": "thesis-advisor"} returns {"slug": ..., "skill": "<skill name>", "instructions": "<full skill text>"}. Returns exactly one skill - the product's free gateway skill - chosen automatically from the slug, with no plan required. Use when the caller wants usable instructions immediately. Not for the product's other skills: those are named and need get_full_skill with a skill_name, which requires a paid plan. Errors: on invalid, missing, or malformed input this tool never raises a protocol error — it returns {"error": "<what is wrong and how to fix it>"} (for example {"error": "unknown slug '<value>'. Use list_products."}). Every call is read-only and idempotent, so after correcting the input it is always safe to retry.
입력 스키마
{
"type": "object",
"properties": {
"slug": {
"type": "string",
"description": "Product slug exactly as returned by list_products,\ne.g. \"thesis-advisor\"."
}
},
"required": [
"slug"
],
"additionalProperties": false
}출력 스키마
{
"type": "object",
"additionalProperties": true
}🟢format_citation(style, authors, year, title, container, ...)
Format a citation in APA 7, MLA 9, or Chicago author-date style. FREE. Typical input {"style": "apa", "authors": ["Curie, Marie"], "year": 1911, "title": "Radium and radioactivity", "container": "Century Magazine"} returns {"style": "apa", "citation": "Curie, M. (1911). Radium and radioactivity. Century Magazine.", "note": "..."}. Use when the source details are already known and only the formatting is missing. Not for finding or verifying a source. Errors: on invalid, missing, or malformed input this tool never raises a protocol error — it returns {"error": "<what is wrong and how to fix it>"} (for example {"error": "style must be apa, mla, or chicago"}). Every call is read-only and idempotent, so after correcting the input it is always safe to retry.
입력 스키마
{
"type": "object",
"properties": {
"style": {
"type": "string",
"description": "Citation style: \"apa\", \"mla\", or \"chicago\"\n(case-insensitive)."
},
"authors": {
"items": {
"type": "string"
},
"minItems": 1,
"type": "array",
"description": "Authors as \"Last, First\" strings in source order, at\nleast one, e.g. [\"Curie, Marie\"]."
},
"year": {
"type": "integer",
"description": "Publication year, e.g. 2024."
},
"title": {
"type": "string",
"description": "Title of the work being cited."
},
"container": {
"default": "",
"type": "string",
"description": "Optional journal, book, or site name."
},
"publisher": {
"default": "",
"type": "string",
"description": "Optional publisher name."
},
"url": {
"default": "",
"type": "string",
"description": "Optional URL of the source."
},
"accessed": {
"default": "",
"type": "string",
"description": "Optional access date for MLA web sources, e.g.\n\"12 Aug. 2026\"."
}
},
"required": [
"style",
"authors",
"year",
"title"
],
"additionalProperties": false
}출력 스키마
{
"type": "object",
"additionalProperties": true
}🟢get_full_product(slug)
Load one product in full: its persona plus every paid skill. PREMIUM (license). Typical input {"slug": "thesis-advisor"} returns {"slug": ..., "name": ..., "persona": "<persona text>", "skills": [{"name": ..., "instructions": ...}, ...], "free_skill": {...}}. Returns persona plus every skill for one product. Use when the caller wants the whole product. Not for a single skill (get_full_skill) and not for a free look, which list_products and get_free_skill provide with no plan. Errors: on invalid, missing, or malformed input this tool never raises a protocol error — it returns {"error": "<what is wrong and how to fix it>"} (for example {"error": "unknown slug '<value>'"}). Every call is read-only and idempotent, so after correcting the input it is always safe to retry.
입력 스키마
{
"type": "object",
"properties": {
"slug": {
"type": "string",
"description": "Product slug exactly as returned by list_products,\ne.g. \"thesis-advisor\"."
}
},
"required": [
"slug"
],
"additionalProperties": false
}출력 스키마
{
"type": "object",
"additionalProperties": true
}🟢get_full_skill(slug, skill_name)
Load one paid skill's complete instructions from a product. PREMIUM (license). Typical input {"slug": "thesis-advisor", "skill_name": "Outline Builder"} returns {"slug": ..., "skill": ..., "instructions": "<full skill text>"}. Returns one named skill, selected by skill_name. Use when the caller wants one specific paid skill. Not for the free gateway skill, which get_free_skill returns with no plan, and not for every skill at once (get_full_product). Errors: on invalid, missing, or malformed input this tool never raises a protocol error — it returns {"error": "<what is wrong and how to fix it>"} (for example {"error": "unknown slug '<value>'"}). Every call is read-only and idempotent, so after correcting the input it is always safe to retry.
입력 스키마
{
"type": "object",
"properties": {
"slug": {
"type": "string",
"description": "Product slug exactly as returned by list_products."
},
"skill_name": {
"type": "string",
"description": "Exact skill name as listed in that product's \"skills\"\narray from list_products."
}
},
"required": [
"slug",
"skill_name"
],
"additionalProperties": false
}출력 스키마
{
"type": "object",
"additionalProperties": true
}🟢stats_describe(numbers)
Describe a numeric dataset: center, spread, quartiles, and outliers. FREE. Typical input {"numbers": [12, 15, 14, 90, 13]} returns {"n": 5, "mean": 28.8, "median": 14.0, "std_dev": ..., "min": 12, "max": 90, "q1": ..., "q3": ..., "iqr_outliers": [90], "skew": "right (mean > median)"}. Use as a first summary of one numeric dataset. Not for interval estimates (confidence_interval) and not for planning a study (sample_size). Errors: on invalid, missing, or malformed input this tool never raises a protocol error — it returns {"error": "<what is wrong and how to fix it>"} (for example {"error": "no numbers"}). Every call is read-only and idempotent, so after correcting the input it is always safe to retry.
입력 스키마
{
"type": "object",
"properties": {
"numbers": {
"items": {
"type": "number"
},
"minItems": 1,
"type": "array",
"description": "The dataset as a list of numbers; at least 1 value."
}
},
"required": [
"numbers"
],
"additionalProperties": false
}출력 스키마
{
"type": "object",
"additionalProperties": true
}🟢sample_size(population, confidence_pct, margin_pct)
Calculate the survey sample size needed for a confidence level and margin. FREE. Uses maximum variance (p=0.5) with a finite-population correction when population is given. Typical input {"population": 5000, "confidence_pct": 95, "margin_pct": 5} returns {"required_sample": 357, "assumptions": "p=0.5 (max variance), random sampling"}. Use before collecting data, to size a survey. Not for analyzing data already collected (stats_describe, confidence_interval). Errors: on invalid, missing, or malformed input this tool never raises a protocol error — it returns {"error": "<what is wrong and how to fix it>"} (for example {"error": "confidence_pct must be 90, 95, or 99"}). Every call is read-only and idempotent, so after correcting the input it is always safe to retry.
입력 스키마
{
"type": "object",
"properties": {
"population": {
"default": 0,
"type": "integer",
"description": "Total population size; 0 (default) means unknown or\nvery large."
},
"confidence_pct": {
"default": 95,
"type": "number",
"description": "Confidence level; must be 90, 95, or 99.\nDefault 95."
},
"margin_pct": {
"default": 5,
"exclusiveMinimum": 0,
"maximum": 50,
"type": "number",
"description": "Acceptable margin of error percentage; above 0 and at\nmost 50. Default 5."
}
},
"additionalProperties": false
}출력 스키마
{
"type": "object",
"additionalProperties": true
}🟢confidence_interval(mean, std_dev, n, confidence_pct)
Compute a confidence interval for a mean (normal approximation). FREE. Typical input {"mean": 72.4, "std_dev": 8.1, "n": 64, "confidence_pct": 95} returns {"mean": 72.4, "margin_of_error": 1.9845, "interval": [70.4155, 74.3845], "note": "..."}. Use on data already collected, for a mean. Normal approximation, so it is unreliable on very small or heavily skewed samples. Not for proportions or two-group comparisons - the data server's ab_test compares two proportions. Errors: on invalid, missing, or malformed input this tool never raises a protocol error — it returns {"error": "<what is wrong and how to fix it>"} (for example {"error": "confidence 90/95/99, n>=2, std_dev>=0"}). Every call is read-only and idempotent, so after correcting the input it is always safe to retry.
입력 스키마
{
"type": "object",
"properties": {
"mean": {
"type": "number",
"description": "Sample mean."
},
"std_dev": {
"minimum": 0,
"type": "number",
"description": "Sample standard deviation; 0 or greater."
},
"n": {
"minimum": 2,
"type": "integer",
"description": "Sample size; at least 2."
},
"confidence_pct": {
"default": 95,
"type": "number",
"description": "Confidence level; must be 90, 95, or 99.\nDefault 95."
}
},
"required": [
"mean",
"std_dev",
"n"
],
"additionalProperties": false
}출력 스키마
{
"type": "object",
"additionalProperties": true
}커뮤니티
증거