Query Khalid Ibne Hasan's portfolio: profile, availability, case studies, writing, and resume.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
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.
The question to ask Khalid's chat persona.
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
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.
| Argument | Type | Description |
|---|---|---|
| question* | string | The question to ask Khalid's chat persona. |
{
"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."
}
}
}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.
No arguments.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {}
}Returns the full case study for one project by slug: role, year, impact, description, highlights, and stack. Get slugs from list_projects.
| Argument | Type | Description |
|---|---|---|
| slug* | string | The project slug, as returned by list_projects. |
{
"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."
}
}
}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.
| Argument | Type | Description |
|---|---|---|
| slug* | string | The post slug, as returned by list_writing. |
{
"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."
}
}
}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.
No arguments.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {}
}Returns Khalid Ibne Hasan's structured resume: work experience, education, skill groups, and the URL of the downloadable PDF version.
No arguments.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {}
}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.
No arguments.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {}
}Lists Khalid's writing: in-site notes and Substack essays, merged and sorted newest first. Each entry has a title, source, date, and URL.
No arguments.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {}
}Searches all of khalidibnehasan.com (case studies, side projects, writing, profile pages) for a phrase and returns matching items with URLs and snippets.
| Argument | Type | Description |
|---|---|---|
| query* | string | The word or phrase to search for. |
{
"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."
}
}
}