MatthewCampCorp/pv-mcp-server
If you are the rightful owner of pv-mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.
A custom Model Context Protocol (MCP) server for querying pharmacovigilance reference materials.
Pharmacovigilance Reference MCP Server
A custom Model Context Protocol (MCP) server for querying pharmacovigilance reference materials.
🎯 Purpose
This MCP server transforms static PV reference documents (glossaries, guidelines, regulations) into a queryable knowledge platform accessible to Claude during conversations.
🔧 Features
- PDF Parsing: Automatically extracts and indexes content from PDF documents
- Term Search: Find how PV terms are used across all reference materials
- Definition Lookup: Extract formal definitions from glossaries
- Extensible: Easy to add new documents and query capabilities
📁 Directory Structure
pv-mcp-server/
├── src/ # Server source code
│ ├── index.ts # Main MCP server implementation
│ └── pdf-parser.ts # PDF parsing and search logic
├── references/ # Your PV reference documents (PDFs)
│ └── CIOMS_CumulativeGlossary_v2.3_Jul2025.pdf
├── dist/ # Compiled JavaScript (generated)
└── package.json
🚀 Setup
1. Install Dependencies
cd pv-mcp-server
npm install
2. Build the Server
npm run build
3. Add to Claude Code Configuration
Edit your Claude Code configuration file (.claude/config.json or system settings) to include:
{
"mcpServers": {
"pv-references": {
"command": "node",
"args": ["C:\\Users\\campi\\pv-mcp-server\\dist\\index.js"],
"description": "Pharmacovigilance reference knowledge server"
}
}
}
4. Add Reference Documents
Place your PV reference PDFs in the references/ directory:
# Copy your glossary
copy "path\to\CIOMS_CumulativeGlossary_v2.3_Jul2025.pdf" references\
5. Restart Claude Code
The server will be automatically loaded and available in your conversations.
🛠️ Available Tools
search_pv_term
Search for terms across all PV reference documents.
Parameters:
term(required): The term to search fordocument(optional): Specific document filename to search within
Example Use:
"Search for 'adverse event' in my PV references"
get_pv_definition
Extract formal definitions from glossaries.
Parameters:
term(required): The term to definedocument(optional): Specific glossary to search
Example Use:
"What's the CIOMS definition of 'signal detection'?"
list_pv_documents
List all available reference documents.
Example Use:
"What PV references do you have access to?"
📚 Adding New References
Simply drop new PDF files into the references/ directory. The server will automatically discover and index them.
Supported types:
- Glossaries (CIOMS, ICH, FDA)
- Guidelines (ICH E2A, E2B, etc.)
- Regulations (EU, FDA, etc.)
- SOPs and internal procedures
🔄 Extending the Server
Add New Query Types
Edit src/index.ts to add new tools:
{
name: 'your_new_tool',
description: 'What it does',
inputSchema: { /* parameters */ }
}
Add Custom Parsing Logic
Extend src/pdf-parser.ts for specialized extraction (e.g., regulation sections, case report forms).
Add Non-PDF Resources
Modify the parser to handle Word docs, Excel sheets, or connect to databases.
🧪 Development
# Build and run
npm run dev
# Just build
npm run build
# Run compiled version
npm start
📊 Platform Architecture
This server is designed as a platform, not just a tool:
- Current: PV glossary queries
- Near-term: Multi-document cross-referencing, regulation lookup
- Future: Integration with safety databases, automated report checking
🔐 Security Note
This server runs locally and only accesses files in the references/ directory. No data leaves your machine.
📝 License
Private use - for your pharmacovigilance workflows.
Built with the Stark Protocol - From scratch to platform in 30 minutes.