Skip to main content
Glama
brightlikethelight

NetworkX MCP Server

README.md
# NetworkX MCP Server

**Academic-focused graph analysis in your AI conversations** - The first and only NetworkX MCP server specialized for academic research and citation analysis.

[![CI](https://github.com/Bright-L01/networkx-mcp-server/actions/workflows/ci.yml/badge.svg)](https://github.com/Bright-L01/networkx-mcp-server/actions/workflows/ci.yml)
[![Release](https://github.com/Bright-L01/networkx-mcp-server/actions/workflows/release.yml/badge.svg)](https://github.com/Bright-L01/networkx-mcp-server/actions/workflows/release.yml)
[![Security](https://github.com/Bright-L01/networkx-mcp-server/actions/workflows/security.yml/badge.svg)](https://github.com/Bright-L01/networkx-mcp-server/actions/workflows/security.yml)
[![Docker](https://github.com/Bright-L01/networkx-mcp-server/actions/workflows/docker-build.yml/badge.svg)](https://github.com/Bright-L01/networkx-mcp-server/actions/workflows/docker-build.yml)
[![PyPI](https://img.shields.io/pypi/v/networkx-mcp-server.svg)](https://pypi.org/project/networkx-mcp-server/)
[![Python](https://img.shields.io/badge/python-3.11%2B-blue.svg)](https://www.python.org/downloads/)
[![NetworkX](https://img.shields.io/badge/NetworkX-3.0%2B-orange.svg)](https://networkx.org/)
[![MCP](https://img.shields.io/badge/MCP-Compatible-green.svg)](https://modelcontextprotocol.io/)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
[![Academic](https://img.shields.io/badge/Academic-Research-red.svg)](https://crossref.org/)

## ๐ŸŽ“ What is this?

NetworkX MCP Server enables Large Language Models (like Claude) to perform sophisticated **academic research and citation analysis** directly within conversations. Built specifically for researchers, academics, and students who need to analyze citation networks, calculate author impact metrics, and discover literature patterns.

**Stop switching between VOSviewer, CitNetExplorer, and manual analysis. Start doing academic research in your AI conversations.**

### ๐ŸŽฏ Key Features

#### ๐Ÿ”ฌ Academic Research Tools

- **Citation Network Analysis**: Build citation networks from DOIs using CrossRef API
- **Author Impact Metrics**: Calculate h-index, total citations, and academic influence
- **Literature Discovery**: Automated paper recommendations based on citation patterns
- **Collaboration Analysis**: Map co-authorship networks and identify key researchers
- **Research Trend Detection**: Analyze publication and citation trends over time

#### ๐Ÿ“Š Core Graph Operations

- **43 Graph Tools**: From basic operations to advanced algorithms like PageRank
- **BibTeX Export**: Export citation networks in academic-standard BibTeX format
- **CrossRef Integration**: Access 156+ million academic papers via DOI resolution
- **Visualization**: Generate publication-ready network visualizations
- **First of Its Kind**: The only academic-focused NetworkX MCP server

## ๐ŸŒŸ Why NetworkX MCP Server for Academic Research?

- **Built for Researchers**: Designed specifically for academic workflows and citation analysis
- **Real-time Literature Discovery**: Find related papers and collaboration opportunities instantly
- **Reproducible Research**: Python-based, version-controlled, and shareable analysis workflows
- **Academic Data Integration**: Direct access to CrossRef's 156+ million paper database
- **No Enterprise Complexity**: Focus on research, not IT infrastructure
- **Cost-Effective**: Free alternative to expensive commercial citation analysis tools

## ๐Ÿ“ฆ Installation

```bash
pip install networkx-mcp-server
```

## ๐Ÿš€ Quick Start

### 1. Install the server

```bash
pip install networkx-mcp-server
```

### 2. Configure Claude Desktop

Add to your `claude_desktop_config.json`:

**MacOS**: `~/Library/Application Support/Claude/claude_desktop_config.json`
**Windows**: `%APPDATA%\Claude\claude_desktop_config.json`

```json
{
  "mcpServers": {
    "networkx": {
      "command": "python",
      "args": ["-m", "networkx_mcp"]
    }
  }
}
```

### 3. Restart Claude Desktop

The NetworkX tools will now be available in your conversations!

### ๐Ÿงช Test It Works

Ask Claude: "Create a graph called 'test', add nodes 1, 2, 3 with edges between them, then find the shortest path from 1 to 3"

## ๐Ÿ“Š Available Operations

### ๐Ÿ”ฌ Academic Research Functions

- `resolve_doi` - Resolve DOI to publication metadata using CrossRef API
- `build_citation_network` - Build citation networks from seed DOIs
- `analyze_author_impact` - Calculate h-index and impact metrics for authors
- `find_collaboration_patterns` - Analyze co-authorship networks
- `detect_research_trends` - Identify publication and citation trends over time
- `recommend_papers` - Get paper recommendations based on citation patterns
- `export_bibtex` - Export citation networks in BibTeX format

### ๐Ÿ“Š Core Graph Operations

- `create_graph` - Create directed or undirected graphs
- `add_nodes` / `remove_nodes` - Add or remove nodes
- `add_edges` / `remove_edges` - Add or remove edges
- `get_info` - Get basic graph statistics
- `list_graphs` - List all stored graphs
- `delete_graph` - Delete a graph from storage
- `shortest_path` - Find optimal paths between nodes
- `get_neighbors` - Get all neighbors of a node
- `set_node_attributes` / `get_node_attributes` - Manage node metadata
- `set_edge_attributes` / `get_edge_attributes` - Manage edge weights and metadata

### ๐Ÿ” Analysis Operations

- `degree_centrality` - Find the most connected nodes
- `betweenness_centrality` - Identify bridges and key connectors
- `centrality_measures` - Multiple centrality metrics at once
- `pagerank` - Google's PageRank algorithm for node importance
- `connected_components` - Find isolated subgraphs
- `community_detection` - Discover natural groupings
- `clustering_coefficients` - Measure local clustering
- `graph_statistics` - Comprehensive graph statistics
- `minimum_spanning_tree` - Find minimum spanning tree
- `cycles_detection` - Detect cycles in a graph
- `graph_coloring` - Greedy vertex coloring
- `matching` - Maximum weight matching
- `maximum_flow` - Maximum flow in directed graphs
- `topological_sort` - Topological ordering of DAGs
- `subgraph` - Extract induced subgraph as new graph
- `merge_graphs` - Compose two graphs into one

### ๐ŸŽจ Visualization & I/O

- `visualize_graph` - Create PNG visualizations with multiple layouts
- `import_csv` - Load graphs from edge lists
- `export_json` - Export graphs in standard formats

### Academic Research Example

```
Human: Analyze citation patterns for the paper "Attention Is All You Need"

Claude: I'll help you analyze citation patterns for that influential paper.

[Resolves DOI: 10.5555/3295222.3295349]
Found paper: "Attention Is All You Need" by Vaswani et al. (2017)
Citations: 82,892 | Journal: NIPS

[Builds citation network from seed DOI]
Built citation network with 847 nodes and 2,341 edges from 2-hop analysis

[Analyzes author impact]
Ashish Vaswani: h-index 45, total citations 127,436
Most impactful paper: "Attention Is All You Need" (82,892 citations)

[Finds collaboration patterns]
Key collaborators: Noam Shazeer (Google), Niki Parmar (Google)
Research cluster: Google Brain team with 47 collaborations

[Detects research trends]
Trend: MASSIVE INCREASE in attention mechanism research post-2017
2017: 12 papers โ†’ 2023: 3,847 papers (320x growth)

[Recommends related papers]
Top recommendations based on co-citation patterns:
1. "BERT: Pre-training of Deep Bidirectional Transformers" (2018)
2. "GPT-2: Language Models are Unsupervised Multitask Learners" (2019)
3. "RoBERTa: A Robustly Optimized BERT Pretraining Approach" (2019)

[Exports BibTeX]
Generated BibTeX file with 847 entries ready for LaTeX integration
```

## ๐ŸŽ“ Academic Use Cases

### 1. Literature Review & Meta-Analysis

- Automatically expand citation networks from key papers
- Identify research gaps and emerging trends
- Calculate field-wide impact metrics
- Generate comprehensive BibTeX databases

### 2. Collaboration Network Analysis

- Map research collaborations within and across institutions
- Identify key researchers and potential collaborators
- Analyze interdisciplinary connections
- Study research community evolution

### 3. Citation Pattern Analysis

- Track knowledge diffusion through citation networks
- Identify influential papers and breakthrough research
- Analyze citation bias and self-citation patterns
- Study geographic and institutional citation patterns

### 4. Research Trend Detection

- Identify emerging research areas and hot topics
- Analyze publication volume and citation trends
- Track research lifecycle from emergence to maturity
- Predict future research directions

### 5. Academic Impact Assessment

- Calculate comprehensive author impact metrics
- Compare researchers across different career stages
- Analyze journal and conference impact patterns
- Study citation half-life and research longevity

## ๐Ÿ“ˆ Performance

- **Memory**: ~70MB (including Python, NetworkX, and visualization)
- **Graph Size**: Tested up to 10,000 nodes
- **Operations**: Most complete in milliseconds
- **Visualization**: 1-2 seconds for complex graphs

## ๐Ÿ› ๏ธ Development

### Running from Source

```bash
# Clone the repository
git clone https://github.com/Bright-L01/networkx-mcp-server
cd networkx-mcp-server

# Install dependencies
pip install -e ".[dev]"

# Run the server
python -m networkx_mcp
```

### Running Tests

```bash
pytest tests/working/
```

## ๐Ÿ“š Documentation

- [API Reference](docs/API.md) - Detailed operation descriptions
- [Contributing](CONTRIBUTING.md) - How to contribute

## ๐Ÿค Contributing

We welcome contributions! This is the first NetworkX MCP server, and there's lots of room for improvement:

- Add more graph algorithms
- Improve visualization options
- Add graph file format support
- Optimize performance
- Write more examples

## ๐Ÿ“„ License

MIT License - See [LICENSE](LICENSE) for details.

## ๐Ÿ™ Acknowledgments

- [NetworkX](https://networkx.org/) - The amazing graph library that powers this server
- [Anthropic](https://anthropic.com/) - For creating the Model Context Protocol
- The MCP community - For inspiration and examples

---

**Built with โค๏ธ for the AI and Graph Analysis communities**

TDQS

C2.2/5.0

Scored across 46 tools

Disambiguation2/5

Multiple tools have overlapping purposes (degree_centrality, betweenness_centrality, and centrality_measures all compute centrality metrics). The inclusion of unrelated domains (citation analysis, CI/CD workflows) alongside graph operations creates significant confusion about tool selection for an agent.

Naming Consistency4/5

Most tools follow a clear verb_noun snake_case pattern (create_graph, add_edges, delete_graph, trigger_workflow), but a few deviate (pagerank, subgraph, matching, topological_sort). Overall the convention is consistent and readable.

Tool Count1/5

With 46 tools spanning three very different domains (NetworkX graphs, citation networks, CI/CD workflows), the server is excessively large and unfocused. Each domain individually would warrant a smaller, dedicated tool set; combining them makes the count inappropriate.

Completeness2/5

The graph operations lack obvious essentials such as listing edges or updating graph structure. The citation and CI/CD domains appear arbitrarily bolted on, and while each has some coverage, the overall surface is incomplete for any single coherent purpose.

Maintenance

ActivityInactive
ResponsivenessUnresponsive