Skip to main content
Glama
README.md
# harcx-mcp

MCP server for verifying BibTeX citations using [harcx](https://pypi.org/project/harcx/). Allows AI assistants like Claude to check your bibliography against Semantic Scholar, DBLP, and other academic databases.

> **Thanks** to the original [harcx](https://pypi.org/project/harcx/) package for providing the citation verification functionality.

## Quick Setup

1. Create a `.vscode` folder in your project (if it doesn't exist)
2. Create `.vscode/mcp.json` with:
   ```json
   {
     "servers": {
       "harcx": {
         "command": "python",
         "args": ["/path/to/harcx_mcp.py"]
       }
     }
   }
   ```
3. Use `#harcx` in Claude Code to access the tools:
   ```
   verify citations in references.bib
   verify urls in references.bib
   ```

## Installation

```bash
pip install "mcp[cli]" harcx
```

## Usage

### With Claude Code

Add to your project's `.mcp.json`:

```json
{
  "mcpServers": {
    "harcx": {
      "command": "python",
      "args": ["/path/to/harcx_mcp.py"]
    }
  }
}
```

Then ask Claude to verify your citations:
```
verify citations in references.bib
```

### With Claude Desktop

Add to `~/Library/Application Support/Claude/claude_desktop_config.json` (macOS) or `%APPDATA%\Claude\claude_desktop_config.json` (Windows):

```json
{
  "mcpServers": {
    "harcx": {
      "command": "python",
      "args": ["/path/to/harcx_mcp.py"]
    }
  }
}
```

## Tools

### verify_citations

Verify academic papers and books against Semantic Scholar and DBLP.

**Parameters:**
- `bib_content` (required): Path to .bib file or inline BibTeX content
- `author_threshold` (optional): Author name match tolerance, 0.0-1.0 (default: 0.6)
- `check_urls` (optional): Also verify URLs in citations (default: false)
- `api_key` (optional): Semantic Scholar API key for higher rate limits

**Example:**
```
Check the citations in my thesis.bib file
```

### verify_urls

Check that URLs in your bibliography are accessible.

**Parameters:**
- `bib_content` (required): Path to .bib file or inline BibTeX content

**Example:**
```
Verify all URLs in references.bib are still working
```

## Rate Limits

Semantic Scholar has rate limits. If you're checking many citations, you may see 429 errors and retries. For higher limits, get a free API key from [Semantic Scholar](https://www.semanticscholar.org/product/api) and pass it via the `api_key` parameter.

## License

MIT

Maintenance

ActivityInactive
ResponsivenessNo issues