nitish1888/idea-hub-mcp-server
If you are the rightful owner of idea-hub-mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.
The Idea Hub MCP Server is a Model Context Protocol server designed for the AI-powered innovation platform, providing tools for AI agents to interact with the idea management system.
Idea Hub MCP Server
A Model Context Protocol (MCP) server for the Idea Hub AI-powered innovation platform. This server provides tools for AI agents to interact with the idea management system, including semantic search, duplicate detection, contributor matching, and AI-powered analysis.
Features
Core Functionality
- Semantic Search: AI-powered search using vector embeddings
- Duplicate Detection: Identify similar ideas to prevent redundancy
- Contributor Matching: Match ideas with skilled contributors
- AI Analysis: Generate summaries, assess feasibility, and suggest improvements
MCP Tools Available
Idea Management Tools
search_ideas- Search for ideas using semantic, keyword, or hybrid searchget_idea_details- Get detailed information about a specific ideadetect_duplicates- Detect duplicate or similar ideasanalyze_idea_trends- Analyze trends in submitted ideas
Contributor Tools
search_contributors- Search for contributors by skills or availabilitymatch_contributors_to_idea- Find contributors that match an idea's requirements
AI Analysis Tools
generate_idea_summary- Generate AI summary of an ideaassess_idea_feasibility- Assess technical and business feasibilitysuggest_improvements- Suggest improvements for an idea
Architecture
Technology Stack
- MCP Protocol: Model Context Protocol for AI agent interactions
- Database: PostgreSQL with pgvector extension for vector operations
- AI Models:
- Google Gemini for reasoning and text generation
- HuggingFace Sentence Transformers for embeddings
- Vector Operations: Sentence Transformers with PostgreSQL pgvector
- Language: Python 3.12+ with async/await support
Key Components
- Server Core: Main MCP server implementation (
src/server.py) - Tool Modules: Specialized tools for different domains (
src/tools/) - Database Layer: Async PostgreSQL operations (
src/utils/database.py) - Configuration: Environment-based configuration (
src/utils/config.py)
Installation
Prerequisites
- Python 3.12+
- PostgreSQL with pgvector extension
- Google API key for Gemini AI
- HuggingFace account (optional, for some models)
Setup
-
Clone the repository:
git clone git@gitlab.cee.company.com:nitsingh/idea_hub_mcp_server.git cd idea-hub-mcp-server -
Install dependencies:
pip install -e . -
Set up environment variables:
cp env.example .env # Edit .env with your configuration -
Set up the database:
CREATE EXTENSION IF NOT EXISTS vector;
Configuration
Environment Variables
Create a .env file with the following variables:
# Database Configuration
DB_HOST=localhost
DB_PORT=5432
DB_NAME=idea_hub
DB_USER=postgres
DB_PASSWORD=your_password
# AI Configuration
GOOGLE_API_KEY=your_google_api_key
HUGGINGFACE_TOKEN=your_hf_token # Optional
EMBEDDING_MODEL=all-MiniLM-L6-v2
LLM_MODEL=gemini-pro
# Server Configuration
SERVER_HOST=localhost
SERVER_PORT=8000
LOG_LEVEL=INFO
DEBUG=false
# Vector Configuration
VECTOR_DIMENSION=384
SIMILARITY_THRESHOLD=0.7
MAX_VECTOR_RESULTS=10
Usage
Running the Server
# Run directly
python -m src.main
# Or using the installed script
idea-hub-mcp-server
Connecting to the Server
The server implements the MCP protocol and can be used by any MCP-compatible AI agent or client.
Example MCP client connection:
{
"method": "tools/list",
"params": {}
}
Tool Usage Examples
Search Ideas
{
"method": "tools/call",
"params": {
"name": "search_ideas",
"arguments": {
"query": "machine learning automation",
"search_type": "semantic",
"limit": 5
}
}
}
Detect Duplicates
{
"method": "tools/call",
"params": {
"name": "detect_duplicates",
"arguments": {
"title": "AI-powered chatbot for customer service",
"description": "Implement an intelligent chatbot using natural language processing...",
"threshold": 0.8
}
}
}
Match Contributors
{
"method": "tools/call",
"params": {
"name": "match_contributors_to_idea",
"arguments": {
"idea_id": 123,
"required_skills": ["Python", "Machine Learning", "API Development"],
"max_contributors": 3
}
}
}
Development
Project Structure
idea-hub-mcp-server/
├── src/
│ ├── main.py # Entry point
│ ├── server.py # Main MCP server
│ ├── tools/ # Tool implementations
│ │ ├── idea_tools.py # Idea management
│ │ ├── vector_tools.py # Vector operations
│ │ ├── contributor_tools.py # Contributor matching
│ │ └── ai_tools.py # AI analysis
│ └── utils/ # Utilities
│ ├── config.py # Configuration
│ └── database.py # Database operations
├── tests/ # Test suite
├── pyproject.toml # Project configuration
├── env.example # Environment template
└── README.md # This file
Running Tests
# Install dev dependencies
pip install -e ".[dev]"
# Run tests
pytest
# Run with coverage
pytest --cov=src
Code Quality
# Format code
ruff format
# Lint code
ruff check
# Type checking
mypy src
Integration with Idea Hub
This MCP server is designed to work alongside the main Idea Hub application, providing AI agent capabilities to:
- Enhance Idea Submission: Detect duplicates and suggest improvements during submission
- Smart Search: Enable semantic search across all ideas
- Contributor Matching: Automatically suggest contributors for new ideas
- AI Analysis: Provide automated feasibility assessments and summaries
Team
- Designed By: Nitish Singh (https://www.linkedin.com/in/nitish-singh-11aa0239/)
- Key Contributors:Rishika Kumar (https://www.linkedin.com/in/riishika/) and Shubham (https://www.linkedin.com/in/shubham-chilhate-362863213/)
License
This project is part of Company's innovation initiatives and follows internal licensing guidelines.
Support
For questions or issues, please contact the development team or create an issue in the project repository.