Qualitative Research Knowledge Graph MCP server

Maintains a structured knowledge graph of qualitative research entities including projects, participants, interviews, codes, themes, and findings, enabling researchers to track analytical development and connect evidence to conclusions.
Back to servers
Setup instructions
Provider
Tejpal Virk
Release date
Mar 22, 2025
Language
TypeScript
Stats
4 stars

The Qualitative Researcher MCP Server provides a structured knowledge graph system to help qualitative researchers organize their research data, track analysis processes, and manage themes and findings across multiple research sessions.

Installation

You can set up the Qualitative Researcher MCP Server using several methods:

Method 1: Run with npx

Add this to your claude_desktop_config.json to run directly with npx:

{
  "mcpServers": {
    "qualitativeresearch": {
      "command": "npx",
      "args": [
        "-y",
        "github:tejpalvirk/qualitativeresearch"
      ]
    }
  }
}

Method 2: Global Installation

First, install the package globally:

npm install -g github:tejpalvirk/qualitativeresearch

Then configure Claude Desktop:

{
  "mcpServers": {
    "qualitativeresearch": {
      "command": "contextmanager-qualitativeresearch"
    }
  }
}

Method 3: Docker

{
  "mcpServers": {
    "qualitativeresearch": {
      "command": "docker",
      "args": [
        "run",
        "--rm",
        "-i",
        "mcp/qualitativeresearch"
      ]
    }
  }
}

Customizing Data Storage

You can customize where the server stores data using environment variables:

# Store data in the current directory
MEMORY_FILE_PATH="./qualitative-memory.json" SESSIONS_FILE_PATH="./qualitative-sessions.json" npx github:tejpalvirk/contextmanager-qualitativeresearch

# Store data in a specific location (absolute path)
MEMORY_FILE_PATH="/path/to/data/qualitative-memory.json" npx github:tejpalvirk/contextmanager-qualitativeresearch

Using the Server

The Qualitative Researcher MCP Server supports several tools for managing your research:

Starting a Research Session

Begin a new research session with the startsession tool. This creates a unique session ID and displays your current research projects, recent data, and emergent themes.

Example prompt:

Let's start a new qualitative research session for my Health Behavior Study project.

Loading Research Context

Use the loadcontext tool to retrieve detailed information about a specific entity in your research:

Example prompt:

Load the context for the Health Behavior Study project so I can see the current state of my analysis.

Recording Session Results

When you finish a research session, use the endsession tool to document your work:

Example prompt:

I've just finished analyzing interview data for my Health Behavior Study. I identified two new themes related to social support, coded three new interviews, and wrote memos about emerging patterns in participant responses. I've marked the initial coding phase as complete and set the thematic analysis as high priority. The project is progressing well, and I'm beginning to reach theoretical saturation.

Managing the Knowledge Graph

Adding to the Knowledge Graph

Use buildcontext to create new elements:

Example prompt:

Create a new code called "Family Support" that's part of the "Social Support" code group in the Health Behavior Study project. Set its status to active and make it precede the "Social Network Analysis" activity.

Modifying the Knowledge Graph

Update existing elements in your research:

Example prompt:

Update the status of the "Participant Recruitment" process to "completed" and add an observation that we've reached our target sample size.

Working with Entity Types

The server supports many entity types for qualitative research:

  • project: Overall research study
  • participant: Research subjects
  • interview: Formal conversations
  • observation: Field notes
  • document: External materials
  • code: Labels for data segments
  • codeGroup: Categories of related codes
  • memo: Analytical notes
  • theme: Emergent patterns
  • researchQuestion: Guiding questions
  • finding: Results or conclusions

Using Relationships

Connect entities with relationships such as:

  • participated_in: Links participants to data collection
  • codes: Shows applied codes
  • contains: Hierarchical relationships
  • supports/contradicts: Evidence for/against findings
  • answers: Data addressing research questions
  • has_status: Entity status (active, completed, pending, abandoned)
  • has_priority: Priority level (high, low)

Domain-Specific Functions

The server provides specialized functions for qualitative research workflows:

  • getProjectOverview: Comprehensive project view
  • getThematicAnalysis: Analyze themes with supporting evidence
  • getCodedData: View data segments with specific codes
  • getChronologicalData: View data in temporal sequence
  • getCodeCooccurrence: Analyze code overlaps
  • getMemosByFocus: Retrieve memos by topic
  • getStatusOverview: View entities by status
  • getPriorityItems: Identify high-priority tasks

These functions help maintain analytical continuity, develop coding frameworks, track thematic development, and enhance methodological rigor throughout your qualitative research process.

How to install this MCP server

For Claude Code

To add this MCP server to Claude Code, run this command in your terminal:

claude mcp add-json "qualitativeresearch" '{"command":"npx","args":["-y","github:tejpalvirk/qualitativeresearch"]}'

See the official Claude Code MCP documentation for more details.

For Cursor

There are two ways to add an MCP server to Cursor. The most common way is to add the server globally in the ~/.cursor/mcp.json file so that it is available in all of your projects.

If you only need the server in a single project, you can add it to the project instead by creating or adding it to the .cursor/mcp.json file.

Adding an MCP server to Cursor globally

To add a global MCP server go to Cursor Settings > Tools & Integrations and click "New MCP Server".

When you click that button the ~/.cursor/mcp.json file will be opened and you can add your server like this:

{
    "mcpServers": {
        "qualitativeresearch": {
            "command": "npx",
            "args": [
                "-y",
                "github:tejpalvirk/qualitativeresearch"
            ]
        }
    }
}

Adding an MCP server to a project

To add an MCP server to a project you can create a new .cursor/mcp.json file or add it to the existing one. This will look exactly the same as the global MCP server example above.

How to use the MCP server

Once the server is installed, you might need to head back to Settings > MCP and click the refresh button.

The Cursor agent will then be able to see the available tools the added MCP server has available and will call them when it needs to.

You can also explicitly ask the agent to use the tool by mentioning the tool name and describing what the function does.

For Claude Desktop

To add this MCP server to Claude Desktop:

1. Find your configuration file:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
  • Linux: ~/.config/Claude/claude_desktop_config.json

2. Add this to your configuration file:

{
    "mcpServers": {
        "qualitativeresearch": {
            "command": "npx",
            "args": [
                "-y",
                "github:tejpalvirk/qualitativeresearch"
            ]
        }
    }
}

3. Restart Claude Desktop for the changes to take effect

Want to 10x your AI skills?

Get a free account and learn to code + market your apps using AI (with or without vibes!).

Nah, maybe later