Labsco
Lumenore-Platform logo

Lumenore-MCP

from Lumenore-Platform

A Model Context Protocol (MCP) server that provides AI assistants with access to Lumenore's analytics and natural language query capabilities. Built with FastMCP and Python 3.13 for scalable data analytics integration.

πŸ”₯πŸ”₯πŸ”₯βœ“ VerifiedAccount requiredNeeds API keys

Lumenore Analytics MCP Server

License Python MCP Contributor Covenant

A Model Context Protocol (MCP) server that provides AI assistants with access to Lumenore's analytics and natural language query capabilities. Built with FastMCP and Python 3.13 for scalable data analytics integration.

Table of Contents

Overview

This MCP server provides AI assistants with access to Lumenore's powerful analytics capabilities:

  • Natural Language Queries: Convert questions to data insights
  • Advanced Analytics: Trends, predictions, correlations, outliers, changes, Pareto analysis
  • Real-time Processing: Stream responses for large datasets
  • Zero Data Storage: In-memory processing with no persistent logging. When the MCP Server forwards requests to Lumenore's backend, Lumenore's privacy policies apply

Connecting Your AI Assistant

Claude for Desktop

  1. Settings β†’ MCP Servers
  2. Add Server with:
    Name: Lumenore Analytics
    URL: http://localhost:8080/mcp
    Transport: Streamable HTTP

Programmatic Access (Python)

from mcp.client import MCPClient

client = MCPClient("http://localhost:8080/mcp", transport="streamable_http")
tools = await client.list_tools()
result = await client.call_tool("nlq_to_data", {
    "userQuery": "Top 5 sales regions last month",
    "schemaId": 123
})

Connection Details:

  • Protocol: MCP 2024-11-05+
  • Transport: Streamable HTTP (SSE)
  • Port: 8080 (default)
  • Auth: No MCP-level auth required

Test Connection:

curl -I http://localhost:8080  # Should return HTTP/1.1 200 OK

Authentication

Getting Your Credentials

Client Credentials

  1. Contact Lumenore support to obtain client credentials
  2. Receive your LUMENORE_CLIENT_ID and LUMENORE_SECRET
  3. Store securely in your .env file

See the Configuration section for detailed setup instructions.

Security Best Practices

<!-- Add security best practices here by refering the code -->

Troubleshooting Authentication Issues

"Authorization token missing or invalid":

  • Verify credentials are set in .env file:
    • For client credentials: Check both LUMENORE_CLIENT_ID and LUMENORE_SECRET are set
  • Ensure Lumenore AI credits are available
  • Check SERVER_URL points to correct Lumenore instance

Available Tools

The server provides 8 powerful tools for data analysis:

Dataset Management

get_dataset_metadata - Lists available datasets and schema IDs

Natural Language Queries

nlq_to_data - Converts questions to structured data

{
  "userQuery": "Top 5 sales regions last month",
  "schemaId": 123
}

Advanced Analytics

get_trend_data - Identifies temporal patterns and trends get_prediction_data - Generates forecasts and predictions get_outlier_data - Detects anomalies and unusual patterns get_correlation_data - Analyzes variable relationships get_change_data - Detects pattern shifts and transitions get_pareto_data - Performs 80/20 impact analysis

Error Handling

All tools return standardized responses:

  • Success: {"data": {...}, "status": "success"}
  • Validation Error: {"error": "...", "status": "validation_error"}
  • Service Error: {"error": "...", "status": "error"}

Performance

  • Response Time: 1-7 seconds
  • Timeout: 60 seconds
  • Concurrency: Multiple simultaneous requests supported

Best Practices

  1. Start with get_dataset_metadata to find schema IDs
  2. Be specific in natural language queries
  3. Always check the status field in responses
  4. Cache frequent queries for better performance

Error Handling

All tools implement comprehensive error handling with specific error types:

# Validation errors
{
    "error": "Invalid request parameters: <details>",
    "status": "validation_error",
    "query": "<user_query>",
    "schema_id": <schema_id>
}

# Service errors
{
    "error": "<Operation> failed: <details>",
    "status": "error",
    "query": "<user_query>",
    "schema_id": <schema_id>
}

Testing the Server

You can test the MCP server using any MCP-compatible client or by making HTTP requests to the SSE endpoint:

# Example: Testing with curl (adjust based on MCP protocol)
curl -N http://localhost:8080

Security & Privacy

Security Overview

The Lumenore Analytics MCP Server implements multiple layers of security to protect your data and API credentials:

Data Protection

  • In-Memory Processing: All data is processed in-memory and immediately discarded after response generation
  • No Data Storage: The MCP server does not store or log any user queries, schema IDs, or response data
  • Secure Communication: All backend API requests use HTTPS encryption
  • Credentials Security: Client credentials are never logged, stored, or exposed in responses

Authentication Security

  • Client Credentials Flow: Industry-standard authentication using client ID and secret
  • Session Management: Secure cookie-based session handling with automatic token refresh
  • No MCP-Level Auth: MCP connection doesn't require authentication (backend auth is handled server-side)
  • Security Monitoring: Failed authentication attempts are logged for security analysis

Credentials Best Practices

  • Environment Variables: Store credentials in environment variables or .env files (never in code)
  • Regular Rotation: Rotate credentials every 90 days or as needed
  • Scope Limitation: Use credentials with minimal required permissions
  • Separate Environments: Use different credentials for development, staging, and production

Privacy Policy

For detailed information about how Lumenore handles your data, please see our Privacy Policy.

Key Privacy Principles

  • Minimal Data Processing: Only processes queries and schema IDs provided by users
  • No Conversation History: Does not store or log conversation history
  • User Control: Users control what data is queried and analyzed
  • Compliance: Designed to comply with data protection regulations (GDPR, CCPA)

Data Flow Privacy

User Query β†’ MCP Server β†’ Lumenore Backend β†’ Results β†’ User
             (No storage)   (Lumenore's privacy policy applies)

Privacy Considerations

  • The MCP server acts as a secure proxy between AI assistants and Lumenore's backend
  • All privacy and data handling policies of Lumenore's backend API apply to your data
  • The server itself does not retain any user data beyond the immediate request processing
  • Users are responsible for ensuring their queries comply with applicable data protection laws

Compliance

Regulatory Compliance

  • GDPR: Compliant with General Data Protection Regulation
  • CCPA: Compliant with California Consumer Privacy Act
  • SOC 2: Backend services follow SOC 2 security standards
  • ISO 27001: Information security management best practices

Data Residency

  • Data processing occurs in Lumenore's cloud infrastructure
  • Data residency requirements should be discussed with Lumenore sales team
  • Enterprise deployments may support private cloud or on-premise options

Security Configuration

Environment Security

# Secure credentials management
export LUMENORE_CLIENT_ID="your_client_id"
export LUMENORE_SECRET="your_secret"

# Restrict file permissions
chmod 600 .env
chmod 700 /path/to/server/directory

# Use secure network connections only
# Avoid using public Wi-Fi for sensitive operations

Production Security

  • Use dedicated client credentials for production environments
  • Implement credential rotation automation
  • Monitor API usage and set up alerts for unusual activity
  • Consider implementing IP allowlisting for API access
  • Use VPN or private networks for server communication

Vulnerability Management

Reporting Security Issues

We take security seriously. If you find a vulnerability:

  1. Email: askme@lumenore.com
  2. Include vulnerability details and reproduction steps
  3. We will acknowledge within 24 hours
  4. Work with us to resolve the issue before public disclosure

Security Updates

  • Security patches are prioritized and deployed quickly
  • Subscribe to security notifications via our support channels
  • Regular security assessments are performed on the infrastructure

Data Encryption

In Transit

  • All API communications use TLS 1.2+ encryption
  • HTTPS is enforced for all backend connections
  • Certificate pinning can be implemented for enhanced security

At Rest

  • Backend data storage uses encryption at rest
  • Database encryption protects stored analytics data
  • Key management follows industry best practices

Access Control

Principle of Least Privilege

  • Client credentials should have minimal required permissions
  • Separate credentials for different applications and environments
  • Regular review of credential permissions and usage

Network Security

  • Firewall rules restrict access to necessary ports only
  • Consider implementing VPN access for server management
  • Use network segmentation for production deployments

Contributing

We welcome contributions to the Lumenore Analytics MCP Server! Please follow these guidelines:

Code of Conduct

Please note that this project is released with a Contributor Covenant. By participating, you are expected to uphold this code.

How to Contribute

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

Development Setup

# Clone your fork
git clone <your-fork-url>
cd lumenore-mcp

# Install development dependencies
pip install -r requirements.txt

# Run tests (if available)
python -m pytest

Reporting Bugs

Use the issue tracker to report bugs. Include:

  • Steps to reproduce
  • Expected vs actual behavior
  • Environment details (Python version, OS)

Feature Requests

We welcome feature requests through GitHub Issues. Please:

  • Search existing issues first
  • Provide clear use cases
  • Explain the desired functionality

License

This project is licensed under the MIT License - see the LICENSE file for details.

Support

Contact Information

For technical support and inquiries:


Version: 1.0.0
Last Updated: January 2026
Python: 3.13+
MCP Protocol: Compatible with MCP 2024-11-05 specification