Sage MCP
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Sage MCPFind recent research papers about machine learning interpretability"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Sage MCP - Academic Research Server
An MCP (Model Context Protocol) server that provides LLMs with access to academic papers and periodicals for research-grounded responses.
Features
Full-text search across papers using SQLite FTS5
Topic/publication filtering for targeted research
Paper retrieval with full content for detailed analysis
Extensible database - add your own papers programmatically
Tools Available
Tool | Description |
| Semantic/keyword search across all papers |
| Retrieve full paper content by ID |
| Browse available research topics |
| Browse available journals/sources |
| Filter papers by topic |
| Filter papers by journal |
| Add new papers to the database |
Quick Start (Local Setup)
Prerequisites
Node.js 18+ (recommended: 20 LTS)
npm 9+
1. Clone/Download and Install
cd C:\AIapps\SageMCP # or your chosen directory
npm install
npm run build2. Seed the Database
# Option A: Sample papers (10 ML/AI papers)
npm run seed
# Option B: Import from XML (if you have papers_database.xml)
npm run import-xml3. Verify Installation
npm start
# Should output: "Sage MCP Server running on stdio"
# Press Ctrl+C to stopConnecting to MCP Clients
Claude Desktop (Windows)
Locate config file:
%APPDATA%\Claude\claude_desktop_config.jsonUsually:
C:\Users\<YourName>\AppData\Roaming\Claude\claude_desktop_config.jsonEdit the config (create if doesn't exist):
{ "mcpServers": { "sage": { "command": "node", "args": ["C:/AIapps/SageMCP/dist/index.js"] } } }Restart Claude Desktop completely (quit from system tray, reopen)
Verify connection: Look for the hammer 🔨 icon in Claude's chat input - click it to see available tools
Claude Desktop (macOS)
Config location:
~/Library/Application Support/Claude/claude_desktop_config.jsonConfig content:
{ "mcpServers": { "sage": { "command": "node", "args": ["/Users/<you>/path/to/SageMCP/dist/index.js"] } } }
Windsurf / Cascade
Add to your MCP settings (Settings → MCP Servers):
{
"sage": {
"command": "node",
"args": ["C:/AIapps/SageMCP/dist/index.js"]
}
}Cline (VS Code Extension)
Open VS Code settings
Search for "Cline MCP"
Add server configuration:
{ "sage": { "command": "node", "args": ["C:/AIapps/SageMCP/dist/index.js"] } }
Custom MCP Client (Programmatic)
import { Client } from '@modelcontextprotocol/sdk/client/index.js';
import { StdioClientTransport } from '@modelcontextprotocol/sdk/client/stdio.js';
const transport = new StdioClientTransport({
command: 'node',
args: ['C:/AIapps/SageMCP/dist/index.js'],
});
const client = new Client({ name: 'my-client', version: '1.0.0' }, {});
await client.connect(transport);
// List available tools
const tools = await client.listTools();
console.log(tools);
// Call a tool
const result = await client.callTool({
name: 'search_papers',
arguments: { query: '神å¸', limit: 5 }
});
console.log(result);Configuration
Environment Variables
Variable | Description | Default |
| Custom database file path |
|
Example with custom DB path:
{
"mcpServers": {
"sage": {
"command": "node",
"args": ["C:/AIapps/SageMCP/dist/index.js"],
"env": {
"SAGE_DB_PATH": "D:/Research/my_papers.db"
}
}
}
}Adding Your Own Papers
Via the MCP Tool
LLMs can use the add_paper tool directly to add papers.
Via XML Import
Place your XML file in data/ and run:
npm run import-xml -- ./data/your_papers.xmlProgrammatically
import { initDb, addPaper } from './dist/db.js';
await initDb();
addPaper({
title: 'Your Paper Title',
authors: 'Author One, Author Two',
abstract: 'Paper abstract...',
content: 'Full paper content...',
publication: 'Journal Name',
publication_date: '2024-01-15',
doi: '10.1234/example',
url: 'https://example.com/paper',
topics: 'Topic1, Topic2',
keywords: 'keyword1, keyword2, keyword3'
});Database Schema
Papers are stored in SQLite with full-text search indexing:
Field | Type | Description |
| INTEGER | Auto-incrementing primary key |
| TEXT | Paper title |
| TEXT | Comma-separated author list |
| TEXT | Paper abstract |
| TEXT | Full paper text |
| TEXT | Journal/conference name |
| TEXT | Publication date (YYYY-MM-DD) |
| TEXT | DOI identifier (optional) |
| TEXT | URL to paper (optional) |
| TEXT | Comma-separated topics |
| TEXT | Comma-separated keywords |
VPS Deployment
Single command deploys everything (from your local machine):
# Windows PowerShell
.\deploy\deploy.ps1 -VpsHost "user@your-vps.com"
# Linux/macOS
./deploy/deploy.sh user@your-vps.comThis automatically:
Installs Node.js and dependencies on VPS
Creates
sageuser and directoriesCopies source files and database
Builds the project
Sets up and starts systemd service
Uninstall:
# Windows
.\deploy\uninstall.ps1 -VpsHost "user@your-vps.com"
# Linux/macOS (or directly on VPS)
./deploy/uninstall.shSee deploy/README.md for detailed options and troubleshooting.
Troubleshooting
"Cannot find module" errors
npm run build # Rebuild TypeScriptClaude Desktop doesn't show tools
Check config JSON syntax (use a JSON validator)
Ensure path uses forward slashes:
C:/path/to/filenotC:\path\to\fileRestart Claude Desktop completely (quit from system tray)
Check Claude's logs:
%APPDATA%\Claude\logs\
Database errors
# Reset database
rm -rf data/sage.db
npm run seed # or npm run import-xmlTest MCP server manually
echo '{"jsonrpc":"2.0","id":1,"method":"tools/list"}' | node dist/index.jsLicense
MIT
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Xenovative/SageMCP'
If you have feedback or need assistance with the MCP directory API, please join our Discord server