{"serverId":"mcp-registry/io.github.khalid-hasan/portfolio","tools":[{"name":"get_availability","fixed":{"name":"get_availability","description":"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.","inputSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","properties":{}},"annotations":{"readOnlyHint":true},"title":"get availability"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":87,"tokensAfter":87},{"name":"get_case_study","fixed":{"name":"get_case_study","description":"Returns the full case study for one project by slug: role, year, impact, description, highlights, and stack. Get slugs from list_projects.","inputSchema":{"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."}}},"annotations":{"readOnlyHint":true},"title":"get case study"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":114,"tokensAfter":114},{"name":"get_post","fixed":{"name":"get_post","description":"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.","inputSchema":{"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."}}},"annotations":{"readOnlyHint":true},"title":"get post"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":120,"tokensAfter":120},{"name":"get_profile","fixed":{"name":"get_profile","description":"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.","inputSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","properties":{}},"annotations":{"readOnlyHint":true},"title":"get profile"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":84,"tokensAfter":84},{"name":"get_resume","fixed":{"name":"get_resume","description":"Returns Khalid Ibne Hasan's structured resume: work experience, education, skill groups, and the URL of the downloadable PDF version.","inputSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","properties":{}},"annotations":{"readOnlyHint":true},"title":"get resume"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":77,"tokensAfter":77},{"name":"list_projects","fixed":{"name":"list_projects","description":"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.","inputSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","properties":{}},"annotations":{"readOnlyHint":true},"title":"list projects"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":90,"tokensAfter":90},{"name":"list_writing","fixed":{"name":"list_writing","description":"Lists Khalid's writing: in-site notes and Substack essays, merged and sorted newest first. Each entry has a title, source, date, and URL.","inputSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","properties":{}},"annotations":{"readOnlyHint":true},"title":"list writing"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":79,"tokensAfter":79},{"name":"search_site","fixed":{"name":"search_site","description":"Searches all of khalidibnehasan.com (case studies, side projects, writing, profile pages) for a phrase and returns matching items with URLs and snippets.","inputSchema":{"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."}}},"annotations":{"readOnlyHint":true},"title":"search site"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":114,"tokensAfter":114}],"toolsChanged":8,"tokensSaved":0,"todo":[],"note":"Deterministic fixes. Changes marked verify need a human look before shipping (renames, inferred annotations, inferred types, removed text). Parameter descriptions in `todo` need to be written by someone who knows the API."}