anubhavmalhotra.com MCP server
OfficialClick on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@anubhavmalhotra.com MCP serverWhat does your README say?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
anubhavmalhotra.com
Source for anubhavmalhotra.com: a one-page, README-style personal site that also speaks MCP. Hosted on Vercel.
Layout
public/is the site:index.html(no JavaScript, no webfonts), plus machine-readable twinsREADME.md,llms.txtandprofile.json.api/mcp.jsis a Vercel function served at/mcp(seevercel.json): a stateless, read-only MCP server over Streamable HTTP, built on the official SDK and answering frompublic/profile.jsonandpublic/README.md.lib/mcp-server.jsholds the tools and resources.dev/server.mjsruns the same function locally.test/mcp-smoke.mjsconnects with the official MCP client and exercises every tool, resource and static file.
Edit public/index.html, public/README.md and public/profile.json together when facts change.
Related MCP server: GitLab MCP Server
The download gate
A password-protected page at a secret path describes a package and lets it be downloaded at most five times. Nothing about it is in public/: the path, the password hash and the storage token live only in the project's environment variables (GATE_PATH, GATE_PASSWORD_HASH, BLOB_READ_WRITE_TOKEN), and api/gate.js answers /<path> and /<path>/download through the catch-all rewrites in vercel.json.
A correct password sets a signed cookie (12 hours, keyed by the password hash, so changing the password ends all sessions). With the cookie, /<path> shows the description page with a Download button, and /<path>/download records one download and streams the file. The page text, the file and the download count live in a private Vercel Blob store; the count is updated with an ETag-conditional write, so the limit holds under concurrent requests. Each click on Download counts, whether or not the transfer finishes.
The description page is an HTML fragment kept out of this public repository. Keep the source in private/ (ignored by git) and upload it; a <!-- download --> marker in it places the download block, otherwise the block is appended.
npx vercel env pull .env.local # once, for the scripts below
npm run gate:page -- private/zeus.html # upload the description page
npm run gate:page:pull # fetch the current page back into private/
npm run gate:upload -- ~/Downloads/thing.pkg # put a file behind the gate; resets the count
npm run gate:status # what is uploaded, downloads used
npm run gate:reset # five more downloads for the same file
npm run gate:password -- 'new password' # prints the hash to store in GATE_PASSWORD_HASHTo change the password, store the printed hash with npx vercel env add GATE_PASSWORD_HASH production (and preview, development), then redeploy. npm run test:gate exercises the whole flow with a throwaway fixture; it refuses to run while a real file is uploaded and leaves the page alone.
Run
npm install
npm run dev # http://localhost:8787 and http://localhost:8787/mcp
npm test # against the dev server; SITE_URL=https://anubhavmalhotra.com npm test after deployingDeploy
npx vercel login
npx vercel --prod # first run creates the Vercel project and deploys
npx vercel domains add anubhavmalhotra.com
npx vercel domains add www.anubhavmalhotra.comThe domain already uses Vercel's nameservers, so it goes live as soon as it is attached to the project.
For automatic deploys on every push, import this repository at https://vercel.com/new instead of deploying from the CLI, then add the domains in the project's settings.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Public read-only MCP for products, frameworks, guides, methodology, and blog metadata.
OAuth-protected, read-only-by-default MCP server for provenance-labeled QuillCaddie project memory.
Remote MCP server exposing SMI Aware tools, resources, and skills over Streamable HTTP.
Read-only MCP server over the APIs.io catalog — discover APIs, providers, tags & artifacts.
Related MCP Servers
- AlicenseNot gradedqualityAmaintenanceRead-only MCP server that serves inactive definitions from XRefKit repositories, including Markdown content, workflow catalog, knowledge catalog, skill metadata, and distributable Python tools for client-side execution.MIT
- FlicenseNot gradedqualityBmaintenanceEnables read-only access to GitLab projects, files, directories, and merge requests through MCP tools.
- AlicenseNot gradedqualityBmaintenanceEnables any compatible MCP client or AI agent to retrieve documentation from a local directory of Markdown, HTML, or TXT files via a remote, read-only MCP server.1MIT
- AlicenseNot gradedqualityCmaintenanceEnables self-hosted, read-only remote interaction with GitHub repositories, allowing listing repositories, searching code, and inspecting commits, pull requests, issues, and diffs via authenticated MCP clients.118MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/anubhavmalhotra/anubhavmalhotra.com'
If you have feedback or need assistance with the MCP directory API, please join our Discord server