RohanKarthikeyan's picture
Upload 9 files
046bc11 verified
|
raw
history blame
2.04 kB
---
title: BioMedNorm MCP Server
sdk: gradio
sdk_version: 5.33.0
app_file: app.py
pinned: true
license: apache-2.0
python_version: 3.13.3
tags:
- mcp-server-track
---
# BioMedNorm MCP Server
A MCP server for extracting and normalizing domain-specific entities from biomedical text. We leverage OpenAI LLMs to identify entities and match them to standardized terminology.
## Installation
This project uses `uv` from Astral for dependency management. Follow these steps to set up the project:
### Clone the repository
```bash
git clone https://github.com/yourusername/entity-extraction-mcp
cd entity-extraction-mcp
```
### Set up Python environment
The project includes a .python-version file that specifies the required Python version. Make sure you have uv installed:
```bash
# Install uv if you don't have it already
curl -LsSf https://astral.sh/uv/install.sh | sh
```
### Install dependencies
The project dependencies are defined in `pyproject.toml`. Install them with:
```bash
uv pip install -e .
```
### Set up environment variables
The project **requires** an OpenAI API key, which should be stored in a .env file.
## Running the application
Run the application using `uv run`:
```bash
uv run app.py
```
This command ensures that:
- All project dependencies are correctly installed
- The environment variables from .env are loaded
- The application runs in the proper environment
After starting the server, you can access:
- Web interface: `http://your-server:port`
- MCP endpoint: `http://your-server:port/gradio_api/mcp/sse`
## Using the Web Interface
- Enter text in the input area
- Select the entity type (Disease, Tissue, or Cell Type)
- Click "Normalize"
- View the normalized entities in the results area
## Using as an MCP Tool
The server exposes an MCP-compatible endpoint that can be used by AI agents. The tool accepts:
- `paragraph`: Text to extract entities from
- `target_entity`: Type of entity to extract ("Disease", "Tissue", or "Cell Type")
and returns a list of normalized entities.