iyildirim
This server provides read-only access to public information about Izzet Yildirim, including his profile, publications, paper text, and CV sections.
Get an overview/profile: who he is, research focus, contact, links, and what he is looking for.
Search publications by topic, system, or venue.
Read full details for a publication by id: authors, venue, summary, results, abstract, and links.
Search the full text of public papers and posters for passages.
Read a paper's sections or a specific section's text, in parts if long.
Read CV sections: experience, education, service, certifications, and skills.
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., "@iyildirimWhat has Izzet published on I/O tracing?"
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.
iyildirim
An MCP server for Izzet Yildirim. Connect it to your AI agent and ask about his research, papers, CV, and availability.
It is read-only and needs no sign-in. It answers from the public data on iyildirim.com, including the full text of his published papers.
Connect
Claude Code
claude mcp add iyildirim -- npx -y iyildirimClaude Desktop, Cursor, VS Code, Windsurf (any client that launches local servers): add to the MCP config.
{
"mcpServers": {
"iyildirim": { "command": "npx", "args": ["-y", "iyildirim"] }
}
}No install: most clients can connect straight to the hosted server, which is what this package forwards to.
claude mcp add --transport http iyildirim https://iyildirim.com/api/mcpClaude, ChatGPT, and Cursor also accept https://iyildirim.com/api/mcp as a custom connector URL.
Related MCP server: portfolio-mcp
Then ask
What has Izzet published on I/O tracing?
Read the system design section of the AgentStage paper and summarize it.
Is Izzet a fit for this role? (paste a job description)
Tools
Tool | What it does |
| One section of his CV: experience, education, service, certifications, or skills |
| The text of one section of a public paper |
| Start here: overview, what he is looking for, contact, links |
| The catalog entry for one publication (summary, venue, abstract, links) |
| The sections of a public paper |
| Search the full text of public papers for passages |
| Search the publication catalog by topic, system, or venue |
How it works
This package is a thin stdio-to-HTTP bridge. It holds no tools or data of its own: each message goes to https://iyildirim.com/api/mcp and the reply comes back unchanged, so the tools are always as current as the site. No dependencies.
Set IYILDIRIM_MCP_URL to point it at another endpoint, for example a preview deployment.
Develop
npm install
npm run validate # format check, types, tests, buildRelease
Releases are published to npm, and then listed in the official MCP registry as io.github.izzet/mcp, by publish.yml when a version tag is pushed.
Bump
versioninpackage.jsonand inserver.json(bothversionandpackages[0].version) in a pull request and merge it. A test and the workflow check that they match.On
main:git tag v0.1.1 && git push origin v0.1.1(the tag must match the version).
Publishing needs either a trusted publisher configured for this repo and publish.yml on npmjs.com (no secret), or an NPM_TOKEN repository secret.
MIT licensed.
Available Tools
6 toolsfind_publicationsARead-onlyInspect
Search Izzet's publications by topic, system, or venue. Returns matches with their page links. Work under review appears only as a one-line summary.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Topic keywords, e.g. 'GPU storage tracing' |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnlyHint, openWorldHint=false), and the description adds real value beyond them: it discloses the return shape (matches with page links) and an important caveat that work under review surfaces only as a one-line summary. No auth, paging, or match-count limits are mentioned, keeping it short of a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences, front-loaded with the action and resource, then the return shape and the one caveat. Every clause carries information and nothing is repeated from the schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With one 100%-documented parameter, annotations, and no output schema, the description supplies what is needed: what it searches, what it returns, and the under-review limitation. The only gap is not distinguishing itself from the closely named sibling tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3, but the description meaningfully broadens the query semantics: the schema example is 'topic keywords' only, whereas the description states the query can span topic, system, or venue. That is genuine added meaning over the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (search) and resource (Izzet's publications) plus the dimensions searched (topic, system, venue), which distinguishes it from get_publication and search_papers. However it never names those siblings, so the agent must infer the boundary from the names alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by 'search ... by topic, system, or venue', but there is no explicit when-to-use vs when-not, and no pointer to get_publication for a known single item or to search_papers for paper full text. The agent must reason about the routing itself.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_cvCRead-onlyInspect
Read one section of Izzet's CV.
| Name | Required | Description | Default |
|---|---|---|---|
| section | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description's only extra detail is that a call returns a single section rather than the whole CV, which is already enforced by the required section schema field, leaving no added behavioral context such as error handling or response shape.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler. It is appropriately sized, though its brevity borders on under-specification for the ambiguity it leaves unaddressed.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with sibling overlap and no output schema, the description should clarify the CV/profile distinction and what a section read returns. It does neither, leaving an agent to infer scope from the enum alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description should compensate by explaining the section parameter. Instead it merely says 'one section' and never names the parameter or acknowledges the experience/education/service/certifications/skills enumeration defined in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: read one section of Izzet's CV. It is clear what the tool returns, but it does not distinguish itself from the sibling get_profile, which an agent could reasonably confuse with a CV read.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this versus get_profile or the publication tools. The only implied usage is 'read a CV section,' with no exclusions or alternatives named.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_profileARead-onlyInspect
Overview of Izzet: who he is, what he works on, what he is looking for, how to contact him, and his public profiles.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=false, so safety and locality are covered structurally. The description's added value is disclosing the content categories the response contains (contact details, public profiles), which meaningfully helps an agent judge relevance. It says nothing about response format, length, or whether the content is static, but with annotations carrying the behavioral burden that is a minor gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence that lists the payload contents in descending order of importance, with no filler. Every clause maps to something the agent would actually get back.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no parameters, the description carries the burden of conveying return content, and it does so via the content enumeration. The only thing an agent might still want is a hint about size/format or how this differs from get_cv, which is not covered.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is nothing for the description to disambiguate; the baseline for parameter-free tools applies. No misleading parameter hints are present.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource (Izzet's profile) and enumerates the contents: identity, work, goals, contact info, and public profiles. That gives an agent a concrete picture of what it returns. It does not, however, distinguish this from the close sibling get_cv, which plausibly overlaps heavily with 'who he is / what he works on'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: calling it an 'Overview' suggests it is the general-summary tool and get_cv/get_publication are the detailed ones, but the description never states when to prefer it or when to use a sibling instead. There are no exclusions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_publicationARead-onlyInspect
Read everything public about one publication (authors, venue, summary, results, abstract, links) by its id.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Publication id, e.g. 'agentstage' |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description adds real context by scoping the read to public data only and enumerating the returned fields, which is valuable given there is no output schema; only error/not-found behavior is left unstated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler; the resource and the returned payload are stated immediately and nothing is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter read tool with annotations covering safety and no output schema, listing the returned fields in the description is enough to call it correctly. Only guidance on obtaining a valid id (via find_publications) is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the single id parameter is documented in the schema with an example ('agentstage'). The description's 'by its id' restates what the schema already provides, so the baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Read') plus the resource ('one publication') and enumerates the data returned (authors, venue, summary, results, abstract, links). The phrase 'by its id' implicitly separates it from find_publications/search_papers, but no sibling is named explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: 'by its id' signals that a known publication id is required, so an agent would need find_publications first, but that routing is never stated. There are no explicit when-to-use or when-not-to-use conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
read_paperARead-onlyInspect
Read a public paper's full text. Without a section, returns its sections; with one, returns that section's text, in parts when it is long.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Publication id, e.g. 'agentstage' | |
| part | No | ||
| section | No | Section title from the list, e.g. 'System Design' |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description adds genuine behavioral context beyond that: the no-section call yields a section listing, and long sections are chunked into parts — critical for an agent to know before calling.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, zero filler, and the section/no-section behavior is front-loaded. Every clause carries information an agent needs.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description must describe returns and does so at a high level: a section list versus section text split into parts. It stops short of saying what the section list contains (ids vs titles) or how chunking terminates, which is the main remaining gap for a three-parameter read tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 67%; id and section are documented in the schema, but part has no schema description. The description alludes to paging ('in parts when it is long') yet never states that part selects a chunk, its 1-20 range, or how to detect the final part, so it only partially compensates.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Read a public paper's full text') and the scope of what is returned. It implicitly distinguishes from search_papers/find_publications by returning full text rather than matches, but it never names a sibling, so an agent must infer the difference from get_publication (likely metadata).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage through its branch logic: omit section to enumerate sections, supply one to fetch body text. That is useful, but there is no explicit when-to-use vs get_publication/get_cv guidance and no stated prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_papersARead-onlyInspect
Search the full text of Izzet's public papers and posters for passages about a method, result, dataset, or term. Returns the best passages with their paper id and section; follow up with read_paper for more.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Specific terms, e.g. 'how AgentStage infers file paths' |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and openWorldHint=false, lowering the burden, but the description still adds real value by disclosing the return shape (best passages plus paper id and section) despite no output schema. It doesn't mention result limits or ranking behavior, which would be the final piece.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with purpose and immediately followed by the return behavior and hand-off. No filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter read-only search with no output schema, the description covers what it searches, what it returns, and what to do next. Only ranking/limit behavior is absent, which is a minor gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the single query parameter is well documented with an example, so baseline is 3. The description's phrasing about methods, results, datasets, and terms loosely characterizes good query content, but adds no syntax or formatting detail beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (search), a precise resource scope (full text of Izzet's public papers and posters), and the target unit (passages about a method, result, dataset, or term). An agent can immediately distinguish it from read_paper or find_publications.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly routes follow-up behavior: 'follow up with read_paper for more,' giving a clear next step when passage-level results are insufficient. It lacks an explicit 'use X instead when...' exclusion against find_publications, so it stops just short of full when/when-not guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
6 tool updates
v0.1.0- First observed
find_publications - First observed
get_cv - First observed
get_profile - First observed
get_publication - First observed
read_paper - First observed
search_papers
TDQS
Scored across 6 tools
The tools mostly target distinct resources: profile, publication discovery, publication detail, CV section, full-text search, and full-text reading. There is some potential overlap between find_publications/search_papers and get_publication/read_paper, but the descriptions clearly distinguish metadata search from full-text search and metadata reading from full-text reading.
All names use snake_case and follow a verb_noun pattern, making them predictable. The verbs vary between get, find, search, and read, but the conventions remain readable and consistent enough for an agent.
Six tools is a well-scoped set for a personal academic profile server. Each tool covers a distinct part of the public-information surface without obvious redundancy.
The set covers profile overview, publication search/detail, CV sections, and paper search/read workflows, which is strong lifecycle coverage for public academic information. Minor gaps may exist, such as no explicit list-all-publications or list-CV-sections operation, but agents can likely work around these.
Maintenance
Related MCP Connectors
Read-only MCP tools for AI agent discovery, structured resources, and NIULAI information.
Read-only MCP over an agentic SLR workspace with per-claim citation verification
Read-only MCP over an agentic SLR workspace with per-claim citation verification
Read-only MCP over the LivingMeta AI-in-Research corpus: 12,400 papers, gaps, priority agenda.
Related MCP Servers
- AlicenseAqualityDmaintenanceEnables AI agents to search and retrieve academic papers, author profiles, and citation data from the Scopus database via MCP tools.7MIT
- FlicenseNot gradedqualityBmaintenanceEnables AI assistants to query the author's career, projects, publications, and technical documents through read-only MCP tools.-
- AlicenseAqualityBmaintenanceEnables AI agents to search 1m+ open-access papers, standards, textbooks, and legal documents, resolve identifiers such as RFCs, DOIs, and legal citations, download PDFs, and retrieve citations and metadata through MCP tools.9MIT
- AlicenseAqualityBmaintenanceEnables AI assistants to query and retrieve a structured professional profile, including expertise areas, CV, projects, active research, and target AI queries, through dedicated MCP tools and resources.6MIT