InfoNgen search MCP server
Project description
InfoNgen Document Search MCP Server
This is a Model Context Protocol (MCP) server that provides semantic search capabilities using the InfoNgen API. It allows AI assistants to search for documents, news, and other content indexed by InfoNgen.
Features
- Semantic Search: Perform semantic searches against the InfoNgen database.
- Document Retrieval: Retrieves document details including headline, summary, provider, publication date, and URL.
- Content Snippets: Returns relevant content chunks from the documents.
Configuration
The server requires the following configuration, which can be provided via environment variables or command-line arguments:
| Environment Variable | Command Line Argument | Description |
|---|---|---|
API_BASE_URL |
--api-base-url |
The base URL for the InfoNgen API. |
API_KEY |
--api-key |
Your InfoNgen API Key. |
OAUTH_TOKEN_URL |
--oauth-token-url |
The OAuth2 token endpoint URL. |
OAUTH_CLIENT_ID |
--oauth-client-id |
Your OAuth2 Client ID. |
OAUTH_CLIENT_SECRET |
--oauth-client-secret |
Your OAuth2 Client Secret. |
USER_CONTEXT |
--user-context |
The user context string for API requests. |
Installation
Ensure you have Python 3.11 or higher installed.
- Clone the repository.
- Install dependencies:
# Install dependencies and set up the environment
uv sync
Usage
Running the Server
You can run the server using uvx. Make sure to set the required environment variables or command line arguments first.
# Set environment variables (example for PowerShell)
$env:API_BASE_URL="https://api.infongen.com/v1"
$env:API_KEY="your-api-key"
$env:OAUTH_TOKEN_URL="https://auth.infongen.com/oauth/token"
$env:OAUTH_CLIENT_ID="your-client-id"
$env:OAUTH_CLIENT_SECRET="your-client-secret"
$env:USER_CONTEXT="your-user-context"
# Run the server
uvx --index-url https://nexus-ci.core.kuberocketci.io/repository/krci-python-group/simple/ --from epmp-igen-document-search-mcp-server mcp-server
Tools
search
Performs a semantic search.
- query (string, required): The text to search for.
- limit (integer, optional): The maximum number of documents to return. Default is 10.
Development
This project uses mcp and requests libraries. The main logic is in main.py which defines the MCP server and tools, and api.py which handles the API communication.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file epmp_igen_document_search_mcp_server-0.2.0.tar.gz.
File metadata
- Download URL: epmp_igen_document_search_mcp_server-0.2.0.tar.gz
- Upload date:
- Size: 3.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8a1b15ff6fb5c21486b6380662c4239502bee445c8b2fd72d874129b5696c92e
|
|
| MD5 |
b1ae839d09b446ef8c22f50f1fcb4ede
|
|
| BLAKE2b-256 |
c3563cb7cb9eb3732935d4a9fa4072b78336af7950d3c231a72a740ec9ae4864
|
File details
Details for the file epmp_igen_document_search_mcp_server-0.2.0-py3-none-any.whl.
File metadata
- Download URL: epmp_igen_document_search_mcp_server-0.2.0-py3-none-any.whl
- Upload date:
- Size: 6.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e2a0fd4c7b154c03bcf4f791d2a77102a4b2ee1ae0952ab4836b4fc6312e5821
|
|
| MD5 |
5885071b3f5dd52e60fba204d638b08e
|
|
| BLAKE2b-256 |
d0828835062aab3345c2bffcc757a4b491aece4733c2b64a1e46a19f411c7ca9
|