A Model Context Protocol (MCP) server providing semantic text analysis and compression tools via Hypernym AI's API. This server allows LLMs to access Hypernym's semantic categorization and compression capabilities through standardized MCP interfaces.
Hypernym AI offers advanced semantic analysis tools that can:
Learn more about how Hypernym helps your agents to stop losing context and overpaying for it at our Documentation
And sign up for our API waitlist (self serve coming soon!) at the link here!
Clone the repository:
git clone https://github.com/hypernym/hypernym-mcp-server.git
cd hypernym-mcp-server
Install dependencies:
npm install
Create a .env
file:
touch .env
Add your Hypernym API key and URL to the .env
file:
HYPERNYM_API_URL=https://fc-api-development.hypernym.ai
HYPERNYM_API_KEY=your_api_key_here
PORT=3000
Generate self-signed certificates for development:
npm run generate-certs
Or provide your own certificates and update the paths in .env
:
SSL_KEY_PATH=/path/to/your/server.key
SSL_CERT_PATH=/path/to/your/server.crt
Build the project:
npm run build
Start the server:
a. HTTP/HTTPS mode:
npm start
The server will start on port 3000 by default (or the port specified in your .env
file).
b. stdio transport mode (for MCP integration):
npm run start:stdio
This is the mode you should use when configuring the server in a .mcp.json
file.
The server provides the following tools through the Model Context Protocol:
Full semantic analysis of text including categorization and compression metrics.
Parameters:
text
(required): The input text to analyzemin_compression_ratio
(optional): Target compression ratio (0.0-1.0, default: 0.5)
min_semantic_similarity
(optional): Minimum semantic similarity threshold (0.0-1.0, default: 0.8)
Returns: Complete JSON analysis including semantic categories, compression metrics, and reconstructed text.
Direct text compression that maintains semantic meaning.
Parameters:
text
(required): The input text to compressmin_compression_ratio
(optional): Target compression ratio (0.0-1.0, default: 0.5)min_semantic_similarity
(optional): Minimum semantic similarity threshold (0.0-1.0, default: 0.8)Returns: Only the compressed text that preserves core meaning while maintaining readability.
HYPERNYM_API_URL
(required): URL for the Hypernym API (default: https://fc-api-development.hypernym.ai)HYPERNYM_API_KEY
(required): Your Hypernym AI API keyPORT
(optional): Port to run the server on (default: 3000)SSL_KEY_PATH
(optional): Path to SSL key fileSSL_CERT_PATH
(optional): Path to SSL certificate fileMCP_USE_STDIO
(optional): Set to 'true' to force stdio transport modeTo use this server with MCP-compatible AI platforms, add the following configuration to your .mcp.json
file:
{
"mcpServers": {
"hypernym": {
"type": "stdio",
"command": "cd /path/to/hypernym-mcp-server && npm run start:stdio",
"description": "Hypernym semantic analysis and compression tool",
"tools": ["analyze_text", "semantic_compression"]
}
}
}
This allows AI models to access Hypernym's capabilities through MCP's standardized tool interface.
The server exposes these HTTP endpoints:
POST /
- MCP JSON-RPC 2.0 endpoint for tool calls and listingsPOST /analyze_sync
- Direct Hypernym API passthroughGET /health
- Health check endpointTest the server with provided sample texts:
# Test server health
npm run test:server
# Test direct API endpoint
npm run test:analyze
# Test MCP semantic compression
npm run test:semantic
# Test MCP analyze_text
npm run test:analyze-mcp
{
"jsonrpc": "2.0",
"id": "1",
"method": "tools/list"
}
{
"jsonrpc": "2.0",
"id": "2",
"method": "tools/call",
"params": {
"name": "semantic_compression",
"arguments": {
"text": "Your text to compress here",
"min_compression_ratio": 0.5,
"min_semantic_similarity": 0.8
}
}
}
When using the analyze_text
tool, you'll receive a JSON response like:
{
"metadata": {
"version": "0.1.0",
"timestamp": "2024-03-21T00:00:00Z",
"tokens": {
"in": 1000,
"out": 500,
"total": 1500
}
},
"response": {
"meta": {
"embedding": {
"version": "0.1.0",
"dimensions": 512
}
},
"texts": {
"compressed": "Philosophy::subject=existence;theme=mortality",
"suggested": "To be or not to be - an examination of human mortality and the consequences of action versus inaction."
},
"segments": [
{
"was_compressed": true,
"semantic_category": "Philosophical contemplation of existence",
"semantic_similarity": 0.81,
"compression_ratio": 0.61
}
]
}
}
For more information on the Hypernym API or to obtain an API key, contact the Hypernym team at this link here!
{
"mcpServers": {
"hypernym": {
"env": {},
"args": [
"/path/to/hypernym-mcp-server/index.js"
],
"command": "node"
}
}
}
Seamless access to top MCP servers powering the future of AI integration.