Biomedical literature annotation and relation mining through PubTator3.
Setup
Choose your client, copy the config, then fill in any required environment variables.
claude mcp add pubtator --env MCP_HOST='<MCP_HOST>' --env MCP_PORT='<MCP_PORT>' --env MCP_TRANSPORT='<MCP_TRANSPORT>' -- python -m pubtator-mcp-server~/.codex/config.toml
[mcp_servers.pubtator]
command = "python"
args = ["-m", "pubtator-mcp-server"]
env = { MCP_HOST = "<MCP_HOST>", MCP_PORT = "<MCP_PORT>", MCP_TRANSPORT = "<MCP_TRANSPORT>" }
# codex mcp add pubtator --env MCP_HOST='<MCP_HOST>' --env MCP_PORT='<MCP_PORT>' --env MCP_TRANSPORT='<MCP_TRANSPORT>' -- python -m pubtator-mcp-server~/.cursor/mcp.json
{
"mcpServers": {
"pubtator": {
"command": "python",
"args": [
"-m",
"pubtator-mcp-server"
],
"env": {
"MCP_HOST": "<MCP_HOST>",
"MCP_PORT": "<MCP_PORT>",
"MCP_TRANSPORT": "<MCP_TRANSPORT>"
}
}
}
}.vscode/mcp.json
{
"servers": {
"pubtator": {
"type": "stdio",
"command": "python",
"args": [
"-m",
"pubtator-mcp-server"
],
"env": {
"MCP_HOST": "<MCP_HOST>",
"MCP_PORT": "<MCP_PORT>",
"MCP_TRANSPORT": "<MCP_TRANSPORT>"
}
}
}
}~/.gemini/settings.json
{
"mcpServers": {
"pubtator": {
"command": "python",
"args": [
"-m",
"pubtator-mcp-server"
],
"env": {
"MCP_HOST": "<MCP_HOST>",
"MCP_PORT": "<MCP_PORT>",
"MCP_TRANSPORT": "<MCP_TRANSPORT>"
}
}
}
}claude_desktop_config.json
{
"mcpServers": {
"pubtator": {
"command": "python",
"args": [
"-m",
"pubtator-mcp-server"
],
"env": {
"MCP_HOST": "<MCP_HOST>",
"MCP_PORT": "<MCP_PORT>",
"MCP_TRANSPORT": "<MCP_TRANSPORT>"
}
}
}
}.trae/mcp.json
{
"mcpServers": {
"pubtator": {
"command": "python",
"args": [
"-m",
"pubtator-mcp-server"
],
"env": {
"MCP_HOST": "<MCP_HOST>",
"MCP_PORT": "<MCP_PORT>",
"MCP_TRANSPORT": "<MCP_TRANSPORT>"
}
}
}
}Environment variables
MCP_HOSTMCP_PORTMCP_TRANSPORT
Replace the placeholders with your own credentials and keep them out of version control.