srikanth-mcp-portfolio


Namesrikanth-mcp-portfolio JSON
Version 1.0.3 PyPI version JSON
download
home_pageNone
SummaryMCP server for Srikanth's portfolio data
upload_time2025-09-11 14:39:23
maintainerNone
docs_urlNone
authorNone
requires_python>=3.8
licenseMIT
keywords data mcp portfolio server
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # 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 information
- `category` (optional): Filter by specific category
- `limit` (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)
```bash
# From npmjs.com (public)
npm install srikanth-mcp-portfolio-server

# From GitHub Packages 
npm install @srikanthkarthi/srikanth-mcp-portfolio-server
```

#### Python Package
```bash
# From PyPI (public)
pip install srikanth-mcp-portfolio
```

### Docker Deployment (Multiple Registries)

#### From Docker Hub (Public)
```bash
# 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
```bash
# Node.js version
docker run -it ghcr.io/srikanthkarthi/mcp-portfolio-server:nodejs-latest

# Python version
docker run -it ghcr.io/srikanthkarthi/mcp-portfolio-server:python-latest

# Multi-runtime version
docker run -it ghcr.io/srikanthkarthi/mcp-portfolio-server:multi-latest
```

#### Using Docker Compose (Local Development)
```bash
# 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
```bash
npm install
npm run dev
```

#### Python Development
```bash
pip install -e .
python -m mcp_portfolio_server.server
```

## 🔧 Claude Desktop Integration

### Using Docker Hub (Public)
```json
{
  "mcpServers": {
    "portfolio": {
      "command": "docker", 
      "args": [
        "run", "-i", "--rm",
        "srikanthkarthi/mcp-portfolio-server:latest"
      ]
    }
  }
}
```

### Using GitHub Container Registry  
```json
{
  "mcpServers": {
    "portfolio": {
      "command": "docker",
      "args": [
        "run", "-i", "--rm", 
        "ghcr.io/srikanthkarthi/mcp-portfolio-server:latest"
      ]
    }
  }
}
```

### Using npm Package (Public Registry)
```json
{
  "mcpServers": {
    "portfolio": {
      "command": "npx",
      "args": ["srikanth-mcp-portfolio-server"]
    }
  }
}
```

### Using npm Package from GitHub Packages
```json
{
  "mcpServers": {
    "portfolio": {
      "command": "npx",
      "args": ["@srikanthkarthi/srikanth-mcp-portfolio-server"]
    }
  }
}
```

### Using Python Package
```json
{
  "mcpServers": {
    "portfolio": {
      "command": "python",
      "args": ["-m", "mcp_portfolio_server.server"]
    }
  }
}
```

### Development Mode
```json
{
  "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
```bash
# 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/sample-data.json` |

Switch between Node.js and Python in multi-runtime container:
```yaml
# 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
            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "srikanth-mcp-portfolio",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": null,
    "keywords": "data, mcp, portfolio, server",
    "author": null,
    "author_email": "Srikanth Karthikeyan <srikanthkarthi2003@gmail.com>",
    "download_url": "https://files.pythonhosted.org/packages/46/d1/3329889ef97c52371bb64da85f0a6b063547d0b574f9c435894aa0a9428c/srikanth_mcp_portfolio-1.0.3.tar.gz",
    "platform": null,
    "description": "# Portfolio MCP Server\n\nA 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.\n\n## Features\n\nThe server provides the following tools:\n\n### \ud83d\udd0d `search_portfolio`\nSearch through portfolio data by keywords, category, or content.\n\n**Parameters:**\n- `query` (required): Search query to find relevant information\n- `category` (optional): Filter by specific category\n- `limit` (optional): Maximum results to return (default: 10)\n\n### \ud83d\udcc2 `get_portfolio_categories`\nGet all available categories in the portfolio data.\n\n### \ud83c\udfaf `get_portfolio_item`\nGet a specific portfolio item by ID.\n\n**Parameters:**\n- `id` (required): The ID of the portfolio item\n\n### \ud83d\udcde `get_contact_info`\nGet all contact information.\n\n### \ud83d\udcbb `get_tech_stack`\nGet detailed information about technical skills and tools.\n\n**Parameters:**\n- `type` (optional): Filter by specific tech type\n\n## \ud83d\ude80 Installation & Deployment\n\n### Package Registries\n\n#### Node.js Packages (Both Registries)\n```bash\n# From npmjs.com (public)\nnpm install srikanth-mcp-portfolio-server\n\n# From GitHub Packages \nnpm install @srikanthkarthi/srikanth-mcp-portfolio-server\n```\n\n#### Python Package\n```bash\n# From PyPI (public)\npip install srikanth-mcp-portfolio\n```\n\n### Docker Deployment (Multiple Registries)\n\n#### From Docker Hub (Public)\n```bash\n# Node.js version\ndocker run -it srikanthkarthi/mcp-portfolio-server:nodejs-latest\n\n# Python version  \ndocker run -it srikanthkarthi/mcp-portfolio-server:python-latest\n\n# Multi-runtime version\ndocker run -it srikanthkarthi/mcp-portfolio-server:multi-latest\n```\n\n#### From GitHub Container Registry\n```bash\n# Node.js version\ndocker run -it ghcr.io/srikanthkarthi/mcp-portfolio-server:nodejs-latest\n\n# Python version\ndocker run -it ghcr.io/srikanthkarthi/mcp-portfolio-server:python-latest\n\n# Multi-runtime version\ndocker run -it ghcr.io/srikanthkarthi/mcp-portfolio-server:multi-latest\n```\n\n#### Using Docker Compose (Local Development)\n```bash\n# Choose one:\ndocker compose up mcp-portfolio-nodejs    # Node.js only\ndocker compose up mcp-portfolio-python    # Python only\ndocker compose up mcp-portfolio-multi     # Both runtimes\n```\n\n### Development Setup\n\n#### Node.js Development\n```bash\nnpm install\nnpm run dev\n```\n\n#### Python Development\n```bash\npip install -e .\npython -m mcp_portfolio_server.server\n```\n\n## \ud83d\udd27 Claude Desktop Integration\n\n### Using Docker Hub (Public)\n```json\n{\n  \"mcpServers\": {\n    \"portfolio\": {\n      \"command\": \"docker\", \n      \"args\": [\n        \"run\", \"-i\", \"--rm\",\n        \"srikanthkarthi/mcp-portfolio-server:latest\"\n      ]\n    }\n  }\n}\n```\n\n### Using GitHub Container Registry  \n```json\n{\n  \"mcpServers\": {\n    \"portfolio\": {\n      \"command\": \"docker\",\n      \"args\": [\n        \"run\", \"-i\", \"--rm\", \n        \"ghcr.io/srikanthkarthi/mcp-portfolio-server:latest\"\n      ]\n    }\n  }\n}\n```\n\n### Using npm Package (Public Registry)\n```json\n{\n  \"mcpServers\": {\n    \"portfolio\": {\n      \"command\": \"npx\",\n      \"args\": [\"srikanth-mcp-portfolio-server\"]\n    }\n  }\n}\n```\n\n### Using npm Package from GitHub Packages\n```json\n{\n  \"mcpServers\": {\n    \"portfolio\": {\n      \"command\": \"npx\",\n      \"args\": [\"@srikanthkarthi/srikanth-mcp-portfolio-server\"]\n    }\n  }\n}\n```\n\n### Using Python Package\n```json\n{\n  \"mcpServers\": {\n    \"portfolio\": {\n      \"command\": \"python\",\n      \"args\": [\"-m\", \"mcp_portfolio_server.server\"]\n    }\n  }\n}\n```\n\n### Development Mode\n```json\n{\n  \"mcpServers\": {\n    \"portfolio\": {\n      \"command\": \"node\",\n      \"args\": [\"/path/to/mcp-portfolio/src/index.js\"],\n      \"cwd\": \"/path/to/mcp-portfolio\"\n    }\n  }\n}\n```\n\n## \ud83d\udce6 Automated Building & Publishing\n\n### GitHub Actions Workflows\n\nThe repository includes automated CI/CD workflows:\n\n- **Triggers**: Git tags (`v*`) or manual workflow dispatch\n- **Builds**: Multi-architecture Docker images (AMD64/ARM64)\n- **Publishes**: \n  - Node.js package to GitHub Packages\n  - Python package to PyPI  \n  - Docker images to GitHub Container Registry\n\n### Manual Building\n\n#### Docker Build Commands\n```bash\n# Build Node.js image\ndocker build --target nodejs -t mcp-portfolio:nodejs .\n\n# Build Python image  \ndocker build --target python -t mcp-portfolio:python .\n\n# Build multi-runtime image\ndocker build --target multi -t mcp-portfolio:multi .\n```\n\n### Configuration Options\n\n| Environment Variable | Description | Default |\n|---------------------|-------------|---------|\n| `NODE_ENV` | Node.js environment | `production` |\n| `PYTHONUNBUFFERED` | Python output buffering | `1` |\n| `DATA_PATH` | Portfolio data file path | `/app/sample-data.json` |\n\nSwitch between Node.js and Python in multi-runtime container:\n```yaml\n# In docker-compose.yml, uncomment to use Python:\ncommand: [\"python3\", \"-m\", \"mcp_portfolio_server.server\"]\n```\n\n## Data Categories\n\nThe server provides access to the following portfolio categories:\n\n- **Profile Summary**: Overview and introduction\n- **Current Position**: Job title, company, duration\n- **Current Work**: Responsibilities and projects\n- **Experience**: Work history and achievements\n- **Education**: Academic background\n- **Tech Stack**: Programming languages, frameworks, tools\n- **Certifications**: Professional certifications\n- **Volunteerism**: Community service and activities\n- **Contact**: Social media and professional links\n- **Languages**: Language proficiency\n\n## Example Queries\n\n- Search for cloud experience: `search_portfolio(\"cloud\", \"Experience\")`\n- Get all tech stack info: `get_tech_stack()`\n- Find contact information: `get_contact_info()`\n- Search for certifications: `search_portfolio(\"aws certification\")`\n\n## License\n\nMIT",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "MCP server for Srikanth's portfolio data",
    "version": "1.0.3",
    "project_urls": {
        "Documentation": "https://github.com/srikanthkarthi/mcp-portfolio#readme",
        "Homepage": "https://github.com/srikanthkarthi/mcp-portfolio",
        "Repository": "https://github.com/srikanthkarthi/mcp-portfolio"
    },
    "split_keywords": [
        "data",
        " mcp",
        " portfolio",
        " server"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "ca7325c1a4fad2e6ca3585b1baa3d8b780774306a965a04185c2d1a932bdc057",
                "md5": "b058c35d4370bfe7da1a13cb6869c7bb",
                "sha256": "bd7b7e313a968acbcb29f82cc3058c2d8734dd2bc89240b2895f8cedec4bd900"
            },
            "downloads": -1,
            "filename": "srikanth_mcp_portfolio-1.0.3-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "b058c35d4370bfe7da1a13cb6869c7bb",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 6083,
            "upload_time": "2025-09-11T14:39:22",
            "upload_time_iso_8601": "2025-09-11T14:39:22.199822Z",
            "url": "https://files.pythonhosted.org/packages/ca/73/25c1a4fad2e6ca3585b1baa3d8b780774306a965a04185c2d1a932bdc057/srikanth_mcp_portfolio-1.0.3-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "46d13329889ef97c52371bb64da85f0a6b063547d0b574f9c435894aa0a9428c",
                "md5": "3594514896f74ef70178fb53e2b02d3f",
                "sha256": "a7ac5b2aff8273120f960994017d670c47735bc487c7a45a760c44fd8b9525eb"
            },
            "downloads": -1,
            "filename": "srikanth_mcp_portfolio-1.0.3.tar.gz",
            "has_sig": false,
            "md5_digest": "3594514896f74ef70178fb53e2b02d3f",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 23839,
            "upload_time": "2025-09-11T14:39:23",
            "upload_time_iso_8601": "2025-09-11T14:39:23.291981Z",
            "url": "https://files.pythonhosted.org/packages/46/d1/3329889ef97c52371bb64da85f0a6b063547d0b574f9c435894aa0a9428c/srikanth_mcp_portfolio-1.0.3.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-09-11 14:39:23",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "srikanthkarthi",
    "github_project": "mcp-portfolio#readme",
    "github_not_found": true,
    "lcname": "srikanth-mcp-portfolio"
}
        
Elapsed time: 0.84691s