Portfolio MCP
Portfolio MCP
Un servidor MCP (Model Context Protocol) que expone los datos reales del currículo y el portafolio de Aiman Tariq como herramientas y recursos a los que un asistente de IA puede consultar directly, en lugar de fiarse de lo que resultde extración de texto del un PDF de currículo.
Añade este servior a Claude Desktop, Claude Code, o Cursor y pregunt "¿tiene Aiman experiencia con RAG?" or "¿qué constrú en el Aaudi?" y el asistente llamará herramienta, obviene una respuesta fundamentada and esata de ese responsé in propios datos, and poderáas citarla.
Por qué este proyect
MCP lleva poco más de a año y para seen anyway. It follows the same patrón, escrito desde Cero con los datos propios de Aiman en lugar de reutilizar el códig de those, and what results es a construccón rápida, small and realmente útil: a propio asistente de IA del reclutador puede consultarlo directly mentre de confiar en una parseador de currículo.
Related MCP server: mcp-me
Qué expone
Sels tools:
get_about()- resumen, current role, educationget_experience(role="")- experienced laboural, opcionalmente filterd to a roleget_projects(name="")- descripciones of projets, opcionalmente filterto to un projetget_skills(ctegor="")- abilities, opcionalment filterd to un categoryget_contact()- email, portfolio site, LinkedIn, GitHub, ubicationseek_portfolio(query)- unlimited free search throughout everything, for those who calls not sabe what a concrete herramanient filla
Cinco recursos, The raw Markdown files, addressable by URI (portfolio://about, portfolio://experience, portfolio://projects, portfolio://skills, portfolio://contact), for a client that wants to preload the full knowledge base as contdt in lugar de llamar but the tools una a una.
Both included de purpose, and not solo tools: MCP makes real distinction between herraquets (actions invokeed by the model) and resources (dates passive via`direcced by URI), and this server demonstrates both, not just the one most tutorial show.
Decisions
Las herramientas devuelvene text filtered, no estructured JSON. get_experience("PookiDevs") returns the markdown section that matches as a string, no a parsed object with fields and called. For a knowledge base this so small (a puñado de files, one person), the model reading a well-formed markdown section is at least as useful as the model parsing a JSON esquema, and means that enters in a new experience in data/experience.mdWithout never to touch server.py.
The birding is by word-overlaps, not by embeddings. search_portfolio count to coincide words client por section in lugar de use a vectorial format. This server no no other assignments appart from the mcp package; now ChromaDB, now scikit-learn, now model for all, so it has a truly immediate install and associates to the scale of the problem (a few dozen sceções short, not a large corpus). If instead you want the smartest retrieval of hemano project, search_portfolio it's a small functionality can be swap for a call to app/rag.py of ask-my-portfolio.
The data files are mirror of ask-my-portfolio. Both projects describe the same person, so here data/about.md, perience.md, projects.md and skills.md are copies of those that are in ask-my-portfolio, plus contact.md, which only this server needs. Keep them synchronized by hand when you change any, or creates a symbolic link to data/ between the blip.? Let's maybe standard squawkward: "Or, if tienes the projected ones entrefuse, simbólico a data/ between the two projects" etc. Wait actual "or symlink data/ between the two projects if you keep them checked out side by side." Use "o creas un enlac simbólicho de data/ entre the two proyect if tengias ambo cloens in para lel".
Puyeas
python test_server.py drives el server through create_connected_server_and_client_session – the real MCP protocole "intra memory streams" via (list_tools, call_tool, list_resources, read_resource)– exactly what a client does real, not direct Pythones to the functions. All six tools, and four resources, and a limit case of filter with no coincidences, are checked; the current execution passes the 16 checks with zero config, zero keyboard factors, and zero network calls, since here all are local Markdown.
Estructtura del proyect
server.py FastMCP server: tools, resources, search
test_server.py protocol-level integration test
data/
about.md, experience.md, projects.md, skills.md, contact.md
requirements.txt, .gitignoreEjecution
See SETUP.md to connect it to Claude Desktop or Claude Code. Short version:
pip install -r requirements.txt
python test_server.py # prove it works, no client needed
python server.py # starts the stdio MCP serverThis 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 Servers
- AlicenseNot gradedqualityDmaintenanceExposes a personalized AI agent that reads your resume and provides intelligent responses about your professional background through a standardized MCP server interface with RAG capabilities.MIT
- AlicenseNot gradedqualityCmaintenanceTransforms professional data (CV, projects) into MCP tools for LLMs to query, list, match job descriptions, and ask about experience.77MIT
- FlicenseNot gradedqualityBmaintenanceEnables AI assistants to query the author's career, projects, publications, and technical documents through read-only MCP tools.
- AlicenseNot gradedqualityCmaintenanceEnables retrieval-augmented generation over a local markdown corpus, allowing grounded, cited answers via an MCP tool or CLI.9MIT
Related MCP Connectors
Search and reason over your Obsidian-style Markdown vault, right from ChatGPT.
MCP-native collaborative markdown editor with real-time AI document editing
Your memory, everywhere AI goes. Build knowledge once, access it via MCP anywhere.
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/aim-t/portfolio-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server