own-mcp-server
Click on "Deploy 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., "@own-mcp-serveranalyze this job posting and score my fit"
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.
own-mcp-server
A personal MCP (Model Context Protocol) server that wraps my own projects as tools Claude can call directly from chat/Cowork — a meta-project for connecting the rest of my work into one place, one wrapped project at a time. Built to learn MCP hands-on by running one, not by reading about it.
First wrapped project: Internship Copilot
(../Internship_Copilot) — job posting analysis, fit scoring, and
application tracking.
Setup
uv syncInternship Copilot's LLM backend (completions + embeddings) is configured
independently, via its own .env — see its README. own-mcp-server doesn't
care which backend is behind it.
Registered with Claude Code at user scope:
claude mcp add --scope user own-mcp-server -- uv run --directory <this dir> own-mcp-serverRelated MCP server: ProPlan
Transports
Two ways to run it:
stdio (
own-mcp-server) — a local subprocess Claude Code launches directly. No networking, no auth needed; simplest for local dev.streamable-http (
own-mcp-server-http) — an HTTP server for remote clients (claude.ai web chat can't reach a stdio server on your machine). Gated by a static bearer token (MCP_BEARER_TOKEN) checked inhttp_auth.py's ASGI middleware, rather than the MCP SDK's built-in OAuth machinery — appropriate for a single trusted client, not a multi-tenant service. The bind host is configurable (MCP_HTTP_HOST) since where127.0.0.1is "safe" depends on where the process's actual network isolation boundary is (bare host vs. a container network behind a reverse proxy) — see the docstring inserver.py.
Architecture
Every wrapped project lives under src/own_mcp_server/modules/<name>/ and
exposes a single register(mcp: MCPServer) -> None function. server.py
just imports each module and calls register — adding project #2 means
writing a new module package, not touching the core.
MCP concepts, as learned building this
Tool = a callable action (
analyze_posting,add_application). Claude decides when to invoke it based on the description/docstring.Resource = readable data Claude can pull in as context without it being a callable action (
profile://current,applications://all).Transport: started with stdio (a local subprocess Claude Code launches directly) — no networking or auth to build for a first server. HTTP/SSE would matter if this needed to be reachable remotely.
The SDK in use here (
mcp2.0.0) renamed the oldFastMCPclass toMCPServer(from mcp.server import MCPServer) — worth knowing if following older MCP tutorials that referenceFastMCP.
Status
Core loop implemented for real:
analyze_posting,prep_interview,list_applications,get_application,add_application,update_application_status,delete_application, plus theprofile://currentandapplications://allresources.Still stubbed (raise
NotImplementedError): CV import (draft_profile_from_cv), batch ingestion (batch_analyze_postings), profile CRUD beyond read (add_profile_skill,add_profile_project), and the eval harness (run_evaluation).
This server cannot be deployed
Maintenance
Related MCP Connectors
Nifty's MCP server — exposes tasks, projects, messages, and files as tools for AI agents.
MCP server for progressive tool usage at any scale (see https://klavis.ai)
Hosted MCP server connecting claude.ai, ChatGPT and other AI apps to your own computer
Public MCP server for discovering open jobs. Search, filter, and get application links.
Related MCP Servers
- AlicenseBqualityDmaintenanceA personal MCP server for AI assistant integration that provides custom tools, resources, and prompts for use with Claude Desktop and other MCP-compatible clients.2MIT
- FlicenseNot gradedqualityDmaintenanceMCP server for project planning inside Claude. It tracks progress, knows your codebase, and resumes exactly where you left off every session.6 npm5-
- AlicenseAqualityAmaintenanceAn MCP server that exposes a perpetual, honest job-application pipeline as typed tools an LLM agent can call, with fit scoring, verified resume building, and a submission planner enforced by code, not prompts.16MIT
- AlicenseAqualityBmaintenanceLocal MCP server that manages a job search using Markdown files, enabling skills tracking, gap analysis, and offer pipeline management via Claude.845 npmMIT