Portfolio MCP Server
Enables searching and retrieving portfolio data including experience, skills, and contact information through natural language queries.
README
Portfolio MCP Server
A dual-stack Model Context Protocol (MCP) server for Srikanth Karthikeyan's portfolio data, available in both Node.js and Python implementations with containerized deployment options.
Features
The server provides the following tools:
🔍 search_portfolio
Search through portfolio data by keywords, category, or content.
Parameters:
query(required): Search query to find relevant informationcategory(optional): Filter by specific categorylimit(optional): Maximum results to return (default: 10)
📂 get_portfolio_categories
Get all available categories in the portfolio data.
🎯 get_portfolio_item
Get a specific portfolio item by ID.
Parameters:
id(required): The ID of the portfolio item
📞 get_contact_info
Get all contact information.
💻 get_tech_stack
Get detailed information about technical skills and tools.
Parameters:
type(optional): Filter by specific tech type
🚀 Installation & Deployment
Package Registries
Node.js Packages (Both Registries)
# From npmjs.com (public)
npm install srikanth-mcp-portfolio-server
# From GitHub Packages
npm install @srikanth-karthi/srikanth-mcp-portfolio-server
Python Package
# From PyPI (public)
pip install srikanth-mcp-portfolio
Docker Deployment (Multiple Registries)
From Docker Hub (Public)
# Node.js version
docker run -it srikanthkarthi/mcp-portfolio-server:nodejs-latest
# Python version
docker run -it srikanthkarthi/mcp-portfolio-server:python-latest
# Multi-runtime version
docker run -it srikanthkarthi/mcp-portfolio-server:multi-latest
From GitHub Container Registry
# Node.js version
docker run -it ghcr.io/srikanth-karthi/mcp-portfolio-server:nodejs-latest
# Python version
docker run -it ghcr.io/srikanth-karthi/mcp-portfolio-server:python-latest
# Multi-runtime version
docker run -it ghcr.io/srikanth-karthi/mcp-portfolio-server:multi-latest
Using Docker Compose (Local Development)
# Choose one:
docker compose up mcp-portfolio-nodejs # Node.js only
docker compose up mcp-portfolio-python # Python only
docker compose up mcp-portfolio-multi # Both runtimes
Development Setup
Node.js Development
npm install
npm run dev
Python Development
pip install -e .
python -m mcp_portfolio_server.server
🔧 Claude Desktop Integration
Using Docker Hub (Public)
{
"mcpServers": {
"portfolio": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"srikanthkarthi/mcp-portfolio-server:latest"
]
}
}
}
Using GitHub Container Registry
{
"mcpServers": {
"portfolio": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/srikanthkarthi/mcp-portfolio-server:latest"
]
}
}
}
Using npm Package (Public Registry)
{
"mcpServers": {
"portfolio": {
"command": "npx",
"args": ["srikanth-mcp-portfolio-server"]
}
}
}
Using npm Package from GitHub Packages
{
"mcpServers": {
"portfolio": {
"command": "npx",
"args": ["@srikanth-karthi/srikanth-mcp-portfolio-server"]
}
}
}
Using Python Package
{
"mcpServers": {
"portfolio": {
"command": "python",
"args": ["-m", "mcp_portfolio_server.server"]
}
}
}
Development Mode
{
"mcpServers": {
"portfolio": {
"command": "node",
"args": ["/path/to/mcp-portfolio/src/index.js"],
"cwd": "/path/to/mcp-portfolio"
}
}
}
📦 Automated Building & Publishing
GitHub Actions Workflows
The repository includes automated CI/CD workflows:
- Triggers: Git tags (
v*) or manual workflow dispatch - Builds: Multi-architecture Docker images (AMD64/ARM64)
- Publishes:
- Node.js package to GitHub Packages
- Python package to PyPI
- Docker images to GitHub Container Registry
Manual Building
Docker Build Commands
# Build Node.js image
docker build --target nodejs -t mcp-portfolio:nodejs .
# Build Python image
docker build --target python -t mcp-portfolio:python .
# Build multi-runtime image
docker build --target multi -t mcp-portfolio:multi .
Configuration Options
| Environment Variable | Description | Default |
|---|---|---|
NODE_ENV |
Node.js environment | production |
PYTHONUNBUFFERED |
Python output buffering | 1 |
DATA_PATH |
Portfolio data file path | /app/db/portfolio-data/ai-portfolio.json |
Switch between Node.js and Python in multi-runtime container:
# In docker-compose.yml, uncomment to use Python:
command: ["python3", "-m", "mcp_portfolio_server.server"]
Data Categories
The server provides access to the following portfolio categories:
- Profile Summary: Overview and introduction
- Current Position: Job title, company, duration
- Current Work: Responsibilities and projects
- Experience: Work history and achievements
- Education: Academic background
- Tech Stack: Programming languages, frameworks, tools
- Certifications: Professional certifications
- Volunteerism: Community service and activities
- Contact: Social media and professional links
- Languages: Language proficiency
Example Queries
- Search for cloud experience:
search_portfolio("cloud", "Experience") - Get all tech stack info:
get_tech_stack() - Find contact information:
get_contact_info() - Search for certifications:
search_portfolio("aws certification")
License
MIT
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.