Koskamo

Shlok Bam Portfolio MCP

A read-only MCP server that allows AI assistants to query Shlok Bam's portfolio data, including projects, experience, skills, patents, and writing, providing factual answers with links to source material.

Endpoint and access

No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.

Shlok Bam Portfolio MCP logo, by Shlok BamCommunity listingStreamable HTTPNo sign-inEndpoint checked 2026-11-07Published by Shlok Bam
MCP endpoint (Streamable HTTP)
https://shlokbam.in/mcp
Vendor documentation

What its tools do

10 tools, grouped by the hints the server advertises. Hints are self-declared, not verified behavior.

10 of 10 have a description · 10 of 10 declare behavior hints · 5 of 5 with parameters document them all

Checks and signals

Each line is separate evidence, not a trust score.

  • Passed Endpoint answered the live check ·
  • Availability 1 of 1 checks passed in 30 days

What you can do with it

  • List all projects with live GitHub details
  • Get profile and contact information
  • Retrieve patents and awards with proof
  • Search portfolio for specific topics

Source and maintenance

Community listingRegistry 1.2.1
Maintenance checked

Protocol and capabilities

Server
shlok-bam-portfolio 1.2.2
MCP protocol negotiated in check
2025-11-25
Tools
10 advertised
Resources
0 advertised
Resource templates
0 advertised
Prompts
4 advertised
Server-advertised capabilities
{
  "tools": {
    "listChanged": false
  },
  "prompts": {
    "listChanged": false
  },
  "resources": {
    "subscribe": false,
    "listChanged": false
  }
}

Server-provided instructions

Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.

Facts about Shlok Bam, an AI / Generative AI engineer from Pune, India, straight from his portfolio (https://shlokbam.in), always current. Use these tools whenever the user asks about Shlok: his projects, experience, skills, patents, awards, certifications, writing, availability or how to contact him. Start with get_profile for an overview, list_projects or get_project for his work, and search_portfolio for anything specific. Answer only from what the tools return, and include the links they give so the user can check. Pay (salary, stipend, expected CTC) and details of client work at PharmaACE are not shared here: say so and suggest emailing him (shlokbam19103@gmail.com) rather than guessing. If something isn't covered, say that plainly; never fill gaps with assumptions.

Tools

10 advertised

get_profile — Profile overview
Advertised by the server during the last successful anonymous check.
Advertised read-only

Overview of Shlok Bam: summary, current role, education, location and time zone, what he is open to (roles, relocation), story, headline numbers, what he is focused on this month, contact details (email, phone, contact form) and links (résumé, LinkedIn, GitHub, LeetCode, journal). Takes no input. Call it first for any general question, or for contact details. For his work use list_projects and get_project; for jobs and clubs, get_experience; for anything specific, search_portfolio. Data comes from the live site, refreshed about every 10 minutes. Pay is not included.

get_profile input schema
{
  "type": "object",
  "title": "get_profileArguments",
  "properties": {}
}
get_profile annotations
{
  "title": "Profile overview",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
list_projects — List projects
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

List Shlok's projects in order of importance (the first five are flagships). Each entry has name, slug, field, one-line summary, tech stack, live demo and code links, its page on the portfolio, and live GitHub details (stars, language, topics, last update) when the code is in a public repository. Filters combine (all must match); a filter that matches nothing returns count 0, not an error. GitHub details are cached up to 6 hours and are missing for private repositories or when GitHub can't be reached. Use get_project for one project's full write-up and metrics, and search_portfolio for topics that are not projects (a skill used at work, an award).

list_projects input schema
{
  "type": "object",
  "title": "list_projectsArguments",
  "properties": {
    "tech": {
      "type": "string",
      "title": "Tech",
      "default": "",
      "description": "Only projects using this technology: case-insensitive, matched as part of each tech name and of the write-up, so \"lang\" finds LangGraph and LangChain. Examples: \"LangGraph\", \"React\", \"AWS\". Empty for all."
    },
    "category": {
      "enum": [
        "all",
        "ai",
        "web",
        "devops",
        "cloud"
      ],
      "type": "string",
      "title": "Category",
      "default": "all",
      "description": "Only one kind of project: \"ai\" (AI, ML and agents), \"web\" (full-stack and web apps), \"devops\" (CI/CD and infrastructure), \"cloud\" (serverless and cloud services), or \"all\". A project can be in more than one."
    },
    "flagship_only": {
      "type": "boolean",
      "title": "Flagship Only",
      "default": false,
      "description": "Only the five flagship projects (his most important work). Combines with the other filters."
    },
    "include_other_repos": {
      "type": "boolean",
      "title": "Include Other Repos",
      "default": false,
      "description": "Also return otherRepos: his public GitHub repositories the portfolio doesn't feature (forks left out), with GitHub's description, language, stars and last update."
    }
  }
}
list_projects annotations
{
  "title": "List projects",
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
get_project — Project details
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Full details of one of Shlok's projects: what it does and how it is built, results and metrics, highlights, tech stack, rank, live GitHub details, and links (live demo, code, blog post, portfolio page, and the case study for DailyDiff). The name is matched case-insensitively, ignoring punctuation: first exactly against the project name, slug or GitHub repository name, then as part of a name ("workforce" finds the Enterprise Workforce Training Platform). If no featured project matches, his public GitHub repositories are tried and GitHub's details are returned with a note. If nothing matches, the result is {"error", "projects": [every project name]} so you can retry with a valid name. Use list_projects first when you don't know the name.

get_project input schema
{
  "type": "object",
  "title": "get_projectArguments",
  "required": [
    "name"
  ],
  "properties": {
    "name": {
      "type": "string",
      "title": "Name",
      "description": "A project name, slug or GitHub repository name, any case; part of a name also works. Examples: \"DailyDiff\", \"PaisaWise\", \"lms\", \"enterprise-workforce-training-platform\"."
    }
  }
}
get_project annotations
{
  "title": "Project details",
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
get_experience — Experience, leadership and education
Advertised by the server during the last successful anonymous check.
Advertised read-only

Shlok's work experience (internships), leadership roles (student clubs) and education, each list newest first. Every entry has role, organisation, when, type, what he did (points), the organisation's website and links to certificates where they exist. Takes no input. Pay and confidential client details are not included. For patents, awards and certifications use get_achievements; for projects, list_projects.

get_experience input schema
{
  "type": "object",
  "title": "get_experienceArguments",
  "properties": {}
}
get_experience annotations
{
  "title": "Experience, leadership and education",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_achievements — Patents, awards and certifications
Advertised by the server during the last successful anonymous check.
Advertised read-only

Shlok's recognition and proof of work: patents (three, as co-inventor: title, status, office, reference number, summary and a link to the document), awards and hackathon results (organiser, date, result, certificate links), certifications (issuer, date, certificate link) and community work (mentoring, volunteering, event anchoring). Returns every part, or only the one named in kind, plus a link to the page on the portfolio that shows them. For jobs and club roles use get_experience.

get_achievements input schema
{
  "type": "object",
  "title": "get_achievementsArguments",
  "properties": {
    "kind": {
      "enum": [
        "all",
        "patents",
        "awards",
        "certifications",
        "community"
      ],
      "type": "string",
      "title": "Kind",
      "default": "all",
      "description": "Which part to return: \"patents\", \"awards\" (hackathons and programs), \"certifications\", \"community\" (mentoring and volunteering), or \"all\" for everything."
    }
  }
}
get_achievements annotations
{
  "title": "Patents, awards and certifications",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_skills — Skills
Advertised by the server during the last successful anonymous check.
Advertised read-only

Shlok's skills in eight groups (Generative AI, LLM evaluation & safety, machine learning, languages, web, databases, cloud & DevOps, core CS), strongest first within each group. Each skill has a level (core, strong, working or exploring) and usedIn: up to six of his projects that list it in their stack or mention it in their write-up (matched by name, so treat it as a pointer, not a complete list). Takes no input. For proof of a skill, open those projects with get_project.

get_skills input schema
{
  "type": "object",
  "title": "get_skillsArguments",
  "properties": {}
}
get_skills annotations
{
  "title": "Skills",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_writing — Blog posts
Advertised by the server during the last successful anonymous check.
Advertised read-only

Shlok's writing, newest first: his technical blog posts (journal: title, date, topic tag, summary, link) and his LinkedIn series "Not What You Think" (short posts on common misconceptions about LLMs, each with part, arc, date, topic, title, summary and link, plus the series' arcs and their status). The topic filter is case-insensitive and matches part of a post's topic, title or summary in both ("agent" finds posts tagged Agents, "token" finds the series part on tokens); leave it empty for everything. No match returns count 0 and empty lists. For the projects the posts describe, use get_project.

get_writing input schema
{
  "type": "object",
  "title": "get_writingArguments",
  "properties": {
    "topic": {
      "type": "string",
      "title": "Topic",
      "default": "",
      "description": "Only posts about this: case-insensitive, matched as part of the topic tag, title or summary. Examples: \"Agents\", \"RAG\", \"DevOps\", \"MCP\". Empty for all posts."
    }
  }
}
get_writing annotations
{
  "title": "Blog posts",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_resume — Résumé
Advertised by the server during the last successful anonymous check.
Advertised read-only

Links to Shlok's résumé: the PDF download and a web version with the same content, plus his title, summary, current role and education. Takes no input. The résumé itself is in those documents; for the same facts as structured data use get_experience, get_skills and list_projects.

get_resume input schema
{
  "type": "object",
  "title": "get_resumeArguments",
  "properties": {}
}
get_resume annotations
{
  "title": "Résumé",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_activity — Recent GitHub activity
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

What Shlok has been building lately, live from GitHub: commit counts for the last 7 and 30 days, how many repositories he touched this week, and his 12 most recent commits (repository, message, date, link). Only public repositories; scheduled and automated commits (DailyDiff's daily publish, merges) are left out. Cached up to 30 minutes. If GitHub can't be reached it returns {"error", "github"} instead. Takes no input. For what he is focused on this month, see get_profile (rightNow).

get_activity input schema
{
  "type": "object",
  "title": "get_activityArguments",
  "properties": {}
}
get_activity annotations
{
  "title": "Recent GitHub activity",
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
search_portfolio — Search the portfolio
Advertised by the server during the last successful anonymous check.
Advertised read-only

Search everything in Shlok's portfolio (projects, experience, leadership, education, patents, awards, certifications, community work, blog posts and LinkedIn series posts) for a word or topic. Returns up to 8 matches, best first, each with its type, title, a snippet and a link; no match returns an empty results list. Use it for specific questions the other tools don't answer directly, such as where he used a technology or whether he has done something. For a known project use get_project; for the full list of projects, list_projects; for jobs, get_experience; for patents and awards, get_achievements.

search_portfolio input schema
{
  "type": "object",
  "title": "search_portfolioArguments",
  "required": [
    "query"
  ],
  "properties": {
    "query": {
      "type": "string",
      "title": "Query",
      "description": "One or more words, any case; punctuation is ignored. Each word is matched at the start of words in the text (\"eval\" finds evaluation), matches in a title count more, and the exact phrase scores extra. Examples: \"RAG\", \"Terraform\", \"hackathon\", \"PharmaACE\", \"patent granted\"."
    }
  }
}
search_portfolio annotations
{
  "title": "Search the portfolio",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}

Prompts

4 advertised

evaluate_for_role — Evaluate Shlok for a role

Advertised by the server during the last successful anonymous check.

Assess how well Shlok Bam fits a role, with evidence from his portfolio.

role
The role, or paste the whole job description. (required)
summary — Shlok in three lines

Advertised by the server during the last successful anonymous check.

A three-line summary of Shlok Bam for a recruiter or hiring manager.

No arguments advertised.

interview_questions — Interview questions on his projects

Advertised by the server during the last successful anonymous check.

Technical interview questions based on what Shlok actually built.

project
A project to focus on, e.g. "DailyDiff". Leave empty for his flagships.
latest — What's Shlok up to lately?

Advertised by the server during the last successful anonymous check.

What Shlok is focused on this month and what he has shipped recently.

No arguments advertised.

Resources

0 advertised

No resource definitions available.

30-day availability

Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.

Successful checks
1 of 1 (100%)
Average latency
721 ms
95th percentile latency
721 ms

Maintenance history

Public check and source-refresh events. Editorial and ownership records remain private.

  • · probe · passed · 721 ms · metadata changed · 10 tool(s), 0 resource(s), 0 resource template(s), 4 prompt(s)

Connect from your client

Each snippet registers the same endpoint; pick the client you use.

This server is operated by the named third party. Listing and endpoint checks are not an endorsement or a security audit. Review the operator's permissions, terms, and data handling before connecting. How listings are checked and corrected.

Claude Code

Run this once in a terminal. It registers the remote server. Use --scope project to write .mcp.json for the repo.
Claude Code configuration
claude mcp add --transport http shlok-bam-portfolio-mcp https://shlokbam.in/mcp

Codex

Run this once. Codex stores MCP servers in ~/.codex/config.toml (or .codex/config.toml in a trusted project).
Codex configuration
codex mcp add shlok-bam-portfolio-mcp --url https://shlokbam.in/mcp

Cursor

Merge this server into .cursor/mcp.json in your project, then enable shlok-bam-portfolio-mcp in your MCP settings.
Cursor configuration
{
  "mcpServers": {
    "shlok-bam-portfolio-mcp": {
      "url": "https://shlokbam.in/mcp"
    }
  }
}

Cline

Merge this into cline_mcp_settings.json (Cline → MCP Servers → Configure).
Cline configuration
{
  "mcpServers": {
    "shlok-bam-portfolio-mcp": {
      "type": "streamableHttp",
      "url": "https://shlokbam.in/mcp",
      "disabled": false
    }
  }
}

VS Code

Merge this server into .vscode/mcp.json. Use MCP: List Servers to start shlok-bam-portfolio-mcp and inspect its tools.
VS Code configuration
{
  "servers": {
    "shlok-bam-portfolio-mcp": {
      "type": "http",
      "url": "https://shlokbam.in/mcp"
    }
  }
}

Gemini CLI

Run this once. It writes .gemini/settings.json in the current project; pass --scope user for ~/.gemini/settings.json.
Gemini CLI configuration
gemini mcp add --transport http shlok-bam-portfolio-mcp https://shlokbam.in/mcp

Claude Desktop

Open Claude Settings > Connectors > Add custom connector, enter this server URL and enable it for the conversation. This is a manual remote-connector handoff, not a desktop JSON configuration.
Claude Desktop configuration
https://shlokbam.in/mcp

Windsurf

Merge this into ~/.codeium/windsurf/mcp_config.json, then refresh MCP in Cascade. Windsurf remote servers use serverUrl, not url.
Windsurf configuration
{
  "mcpServers": {
    "shlok-bam-portfolio-mcp": {
      "serverUrl": "https://shlokbam.in/mcp"
    }
  }
}

Let your agent find its tools

Find servers like Shlok Bam Portfolio MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.