---
slug: "authorprofilemcp"
source_type: "readme"
source_url: "https://cdn.jsdelivr.net/gh/alperenkocyigit/AuthorProfileMCP@main/README.md"
repo: "https://github.com/alperenkocyigit/AuthorProfileMCP"
source_file: "README.md"
branch: "main"
---
# Academic Author Network MCP Server

A Model Context Protocol (MCP) server for analyzing academic author networks and research collaborations.

## Features

- **get_coauthors**: Find all co-authors for a given researcher
- **get_author_keywords**: Extract research keywords from Google Scholar profile

## Installation

1. Clone or download this repository
2. Create a virtual environment:
   ```bash
   python -m venv venv
   source venv/bin/activate  # On Windows: venv\Scripts\activate
   ```
3. Install dependencies:
   ```bash
   pip install -r requirements.txt
   ```

## Usage

### Running the Server

```bash
python server.py
```

### Example Tool Calls

#### Finding Co-authors
```python
result = await get_coauthors(
    name="Yann", 
    surname="LeCun",
    institution="NYU"  # Optional
)
```

#### Getting Research Keywords from Google Scholar
```python
keywords = await get_author_keywords(
    name="Yann",
    surname="LeCun"
)
```

## Data Sources

The server uses:

- **Semantic Scholar API**: Primary source for author and publication data
- **OpenAlex API**: Open academic knowledge graph  
- **Crossref API**: DOI resolution and metadata
- **Google Scholar**: Web scraping for research interests and keywords

## Features

- **Rate Limiting**: Respects API rate limits and includes delays for web scraping
- **Caching**: Reduces redundant API calls and scraping requests
- **Error Handling**: Graceful handling of API failures and scraping issues
- **Data Merging**: Combines data from multiple sources for co-authors
- **Async Operations**: Parallel API requests for better performance

## Configuration

The server includes built-in rate limiting and error handling. No additional configuration is required for basic usage.

## Limitations

- Free tier API limits apply
- Google Scholar scraping includes respectful delays
- Results quality depends on author name uniqueness
- Web scraping may occasionally fail due to anti-bot measures

## Contributing

Contributions are welcome! Please ensure all API integrations respect rate limits and terms of service.
