Serveur MCP

Khalid Ibne Hasan · Portfolio

io.github.khalid-hasan/portfolio
Connaissance et documentation Public et accessible MCP 2025-11-25

Ce que fait ce MCP

Queries a professional portfolio for profile information, resume details, projects, case studies, writing, availability, and site search.

ask_khalid
ask khalid
Asks Khalid Ibne Hasan's chat persona one question and returns its answer. The persona is LLM-backed, grounded in khalidibnehasan.com content, and answers as Khalid about his work, experience, and availability. To actually reach Khalid, use the contact form at https://www.khalidibnehasan.com/contact or book a call at https://calendly.com/khalidibnehasan/30min.
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['question'], 'properties': {'question': {'type': 'string', 'maxLength': 1000, 'minLength': 1, 'description': "The question to ask Khalid's chat persona."}}}
get_availability
get availability
Returns what Khalid Ibne Hasan is currently open to (advisory, speaking, and similar engagements) plus the ways to reach him, including a direct call-booking link.
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {}}
get_case_study
get case study
Returns the full case study for one project by slug: role, year, impact, description, highlights, and stack. Get slugs from list_projects.
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['slug'], 'properties': {'slug': {'type': 'string', 'maxLength': 120, 'description': 'The project slug, as returned by list_projects.'}}}
get_post
get post
Returns the full text of one in-site note by slug. Substack essays live on Substack; for those this returns the external URL to read instead. Get slugs from list_writing.
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['slug'], 'properties': {'slug': {'type': 'string', 'maxLength': 160, 'description': 'The post slug, as returned by list_writing.'}}}
get_profile
get profile
Returns who Khalid Ibne Hasan is: name, role, organization, location, links, and a short professional bio. Use this first to ground any answer about Khalid.
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {}}
get_resume
get resume
Returns Khalid Ibne Hasan's structured resume: work experience, education, skill groups, and the URL of the downloadable PDF version.
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {}}
list_projects
list projects
Lists Khalid's shipped case studies (products built at Keyin College) and his side projects (the Lab). Each entry includes a slug usable with get_case_study, a summary, and tags.
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {}}
list_writing
list writing
Lists Khalid's writing: in-site notes and Substack essays, merged and sorted newest first. Each entry has a title, source, date, and URL.
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {}}
search_site
search site
Searches all of khalidibnehasan.com (case studies, side projects, writing, profile pages) for a phrase and returns matching items with URLs and snippets.
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['query'], 'properties': {'query': {'type': 'string', 'maxLength': 200, 'description': 'The word or phrase to search for.'}}}
Ajouté
ask_khalid
17 September 2026 12:42
Ajouté
search_site
17 September 2026 12:42
Ajouté
get_resume
17 September 2026 12:42
Ajouté
get_post
17 September 2026 12:42
Ajouté
list_writing
17 September 2026 12:42
Ajouté
get_case_study
17 September 2026 12:42
Ajouté
list_projects
17 September 2026 12:42
Ajouté
get_availability
17 September 2026 12:42
Ajouté
get_profile
17 September 2026 12:42