Skip to main content
Glama
marceliogreen

CogniResearch

README.md
# CogniResearch

An MCP (Model Context Protocol) server for academic research combining local document search with Semantic Scholar API integration.

## Features

- **Local RAG**: Semantic search over your research documents using sentence transformers and ChromaDB
- **Semantic Scholar API**: Search academic literature with paper details, abstracts, and citations
- **Configurable Personas**: Three system prompt variants for different research workflows
- **Claude Code Integration**: Works as an MCP server within Claude Code

## Installation

```bash
# Clone and navigate to project
cd cogniresearch-mcp

# Create virtual environment
python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate

# Install dependencies
pip install -r requirements.txt

# (Optional) Set your Semantic Scholar API key for higher rate limits
cp .env.example .env
# Edit .env and add your API key
```

## Usage

### Register with Claude Code

```bash
claude mcp add cogniresearch -- python -m cogniresearch.server
```

Or add to your Claude Code `.mcp.json`:

```json
{
  "mcpServers": {
    "cogniresearch": {
      "command": "python",
      "args": ["-m", "cogniresearch.server"],
      "cwd": "/path/to/cogniresearch-mcp"
    }
  }
}
```

### Available Tools

| Tool | Description |
|------|-------------|
| `search_papers` | Search Semantic Scholar for academic papers |
| `get_paper_details` | Get detailed information about a specific paper |
| `search_library` | Semantic search over your local documents |
| `get_context` | Retrieve formatted context for a topic |
| `list_personas` | List available system prompt personas |
| `set_persona` | Switch between personas (default, critical, synthesis) |

### Indexing Documents

Place your documents in the `./documents` directory (supported formats: `.md`, `.txt`, `.pdf`).

The first search will automatically build the vector index.

## Project Structure

```
cogniresearch-mcp/
├── cogniresearch/
│   ├── __init__.py           # Package init
│   ├── server.py             # MCP server with tool definitions
│   ├── config.py             # Configuration management
│   ├── rag.py                # Local RAG implementation
│   └── semantic_scholar.py   # Semantic Scholar API client
├── config/
│   └── prompts.yaml          # System prompt personas
├── tests/
│   └── test_server.py        # Basic tests
├── requirements.txt          # Python dependencies
└── README.md                 # This file
```

## Personas

### Default (Academic Research Assistant)
General literature search and citation management with professional, precise tone.

### Critical (Methodology Reviewer)
Adversarial evaluation of research design and statistical validity.

### Synthesis (Thesis Writing Assistant)
Helps integrate sources into academic prose with proper citation formatting.

## Requirements

- Python 3.9+
- See `requirements.txt` for full dependencies

## License

MIT License - see LICENSE file for details.