Research Methods Library

Research methods for AI assistants: study design guidance, R and Python code, and citations

Should I use this

Quality & Safety

A
Description quality
100%
Schema completeness
87%
Naming quality
93%
Poisoning risk
100%
Permission match
90%
Protocol compliance
100%

Findings (1)

  • LOWTool 'fetch' suggests web access but openWorldHint=falsein fetch

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~1,767Tokens (tool definitions)
~1.9 KBTypical response size
Moderate attention impact (1.38% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "research-methods-mcp": {
      "url": "https://mcp.research-methods.deno.net/mcp"
    }
  }
}

Remote endpoints

https://mcp.research-methods.deno.net/mcpstreamable-http
https://research-methods-mcp.vercel.app/mcpstreamable-http

What it can do

Tool inventory

Tools (6)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢search(query, source, language, limit)

Search sections of textbooks and an R package on research methods and data analysis: statistics and hypothesis testing, regression and generalized linear models, causal inference (difference-in-differences, synthetic control, regression discontinuity, instrumental variables, matching, double machine learning), econometrics, experimental design, survey methods, marketing research, credit scoring, machine learning, and AI. Returns matching sections with their ids, a link, a snippet, the code languages they contain, and a citation.

Input Schema

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "minLength": 1,
      "description": "What to look for, in plain words, e.g. \"staggered difference-in-differences with never-treated controls\"."
    },
    "source": {
      "type": "string",
      "enum": [
        "data_analysis",
        "causalverse",
        "credit_score",
        "marketing_research",
        "ai_in_action",
        "advanced_data_analysis",
        "tidy_finance_vn",
        "tidy_finance_vn_vi",
        "mlpy",
        "publications"
      ],
      "description": "Limit to one work: data_analysis (A Guide on Data Analysis); causalverse (causalverse: The All-in-One Causal Inference Toolkit); credit_score (Credit Scoring: Theory, Methods, and Practice); marketing_research (Marketing Research: A Technical and Academic Treatment); ai_in_action (AI in Action: A Reference for Artificial Intelligence); advanced_data_analysis (Advanced Data Analysis); tidy_finance_vn (Applying Tidy Finance with Python to Vietnam); tidy_finance_vn_vi (Tài Chính Ứng Dụng với Python); mlpy (Machine Learning in Python); publications (Research Articles and Publications)."
    },
    "language": {
      "description": "Prefer sections with code in this language.",
      "type": "string",
      "enum": [
        "r",
        "python",
        "julia"
      ]
    },
    "limit": {
      "description": "Number of results (default 8).",
      "type": "integer",
      "minimum": 1,
      "maximum": 25
    }
  },
  "required": [
    "query"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢fetch(id)

Read one section of the library by its section id. Returns the section in Markdown with its code, the section URL, and the citation of the work it comes from. Long sections come in parts; the text names the id of the next part.

Input Schema

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "minLength": 1,
      "description": "Section id, e.g. \"data_analysis:sec-regression-discontinuity\"."
    }
  },
  "required": [
    "id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢choose_method(question, language, limit)

Recommend statistical, econometric, causal inference, or machine learning methods for a research question or data analysis task: which statistical test or model fits the data, how to estimate a causal or treatment effect, how to analyze an A/B test or experiment, how many observations are needed (power and sample size), how to handle panel, time-series, survey, text, or survival data, and how to build predictive or credit-scoring models. Describe the question, the data (cross-section, panel, time series, experiment), how the treatment or exposure was assigned, and the outcome. Returns candidate methods with when each applies, key assumptions, R and Python packages, and the library sections that teach them.

Input Schema

{
  "type": "object",
  "properties": {
    "question": {
      "type": "string",
      "minLength": 3,
      "description": "The research question and setting, e.g. \"effect of a minimum wage increase that some states adopted in different years on teen employment\"."
    },
    "language": {
      "description": "Only list packages for this language.",
      "type": "string",
      "enum": [
        "r",
        "python",
        "julia"
      ]
    },
    "limit": {
      "description": "Number of methods (default 3).",
      "type": "integer",
      "minimum": 1,
      "maximum": 6
    }
  },
  "required": [
    "question"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢get_code(topic, language, source, limit)

Get runnable code from the library for a specific statistical, econometric, causal inference, or machine learning task, in R, Python, or Julia. Suited to requests for code that carries out a named estimator, test, or modeling step; it returns code with brief context, not an explanation of the method. Results can be restricted to one language or one work. Returns code blocks with the section they come from, the packages they use, a link, and a citation.

Input Schema

{
  "type": "object",
  "properties": {
    "topic": {
      "type": "string",
      "minLength": 2,
      "description": "The task, e.g. \"Callaway and Sant'Anna group-time ATT\", \"rdrobust bandwidth\", \"WoE binning scorecard\"."
    },
    "language": {
      "type": "string",
      "enum": [
        "r",
        "python",
        "julia"
      ],
      "description": "Programming language of the code: r, python, or julia."
    },
    "source": {
      "type": "string",
      "enum": [
        "data_analysis",
        "causalverse",
        "credit_score",
        "marketing_research",
        "ai_in_action",
        "advanced_data_analysis",
        "tidy_finance_vn",
        "tidy_finance_vn_vi",
        "mlpy",
        "publications"
      ],
      "description": "Limit to one work: data_analysis (A Guide on Data Analysis); causalverse (causalverse: The All-in-One Causal Inference Toolkit); credit_score (Credit Scoring: Theory, Methods, and Practice); marketing_research (Marketing Research: A Technical and Academic Treatment); ai_in_action (AI in Action: A Reference for Artificial Intelligence); advanced_data_analysis (Advanced Data Analysis); tidy_finance_vn (Applying Tidy Finance with Python to Vietnam); tidy_finance_vn_vi (Tài Chính Ứng Dụng với Python); mlpy (Machine Learning in Python); publications (Research Articles and Publications)."
    },
    "limit": {
      "description": "Number of sections to return code from (default 4).",
      "type": "integer",
      "minimum": 1,
      "maximum": 10
    }
  },
  "required": [
    "topic"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢cite(ids, style)

Format references for works in the library in APA, Chicago, MLA, Harvard, BibTeX, or RIS. Pass the ids of the sections you used to get a deduplicated reference list plus the section links, or pass source ids to cite whole works. With no ids, returns a reference for every work in the library.

Input Schema

{
  "type": "object",
  "properties": {
    "ids": {
      "description": "Section ids, or source ids: data_analysis, causalverse, credit_score, marketing_research, ai_in_action, advanced_data_analysis, tidy_finance_vn, tidy_finance_vn_vi, mlpy, publications.",
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "style": {
      "description": "Citation style (default apa).",
      "type": "string",
      "enum": [
        "apa",
        "chicago",
        "mla",
        "harvard",
        "bibtex",
        "ris"
      ]
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢list_sources

List the works in the library (textbooks, an R package, and research articles) with their topics, code languages, section counts, licenses, links, and how to cite each one. Suited to questions about what the library covers or which work to consult. Takes no parameters and returns one entry per work.

Input Schema

{
  "type": "object",
  "properties": {},
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded6 tools