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.
Metadata
Release files for epmp-igen-document-search-mcp-server 0.2.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| epmp_igen_document_search_mcp_server-0.2.1.tar.gz | 3.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| epmp_igen_document_search_mcp_server-0.2.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 10.1 kB
Release files / epmp_igen_document_search_mcp_server-0.2.1.tar.gz
| Download URL | epmp_igen_document_search_mcp_server-0.2.1.tar.gz |
|---|---|
| Size | 3.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
00a23e24fcaede2b961541cdb80a884cb8b280524dc700ba8059fde95841ccc1
|
|
BLAKE2b-256 checksum How to use checksums |
8fe0e9c827f82400fa36199485131f000cc55e34156a333eb3d5d493a16ab009
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.12.5
|
Release files / epmp_igen_document_search_mcp_server-0.2.1-py3-none-any.whl
| Download URL | epmp_igen_document_search_mcp_server-0.2.1-py3-none-any.whl |
|---|---|
| Size | 6.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
1d9f866c1e84e4b4b3ccbc004c8e310639f55f33d26de6a8a44413e5fc2a6fff
|
|
BLAKE2b-256 checksum How to use checksums |
0aa13f19a8f64a869ced6a79ba69e7010217eda35057ac2fed4fb77268440c97
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.12.5
|