Skip to main content
Glama
404Simon

wikicfp-mcp

by 404Simon

WikiCFP MCP

Servidor MCP de solo lectura para WikiCFP, la base de datos de conferencias académicas curada por la comunidad. Expone búsqueda de conferencias, navegación completa de categorías y detalles de llamadas a ponencias como herramientas MCP.

Requisitos

  • Python 3.13+

  • uv

Related MCP server: resp-mcp

Instalación

uv sync

Configuración

Este es un servidor MCP. Lo registras en la configuración MCP de tu agente de codificación, y luego el agente puede usar sus herramientas.

La mayoría de los agentes aceptan la misma configuración local stdio. Por ejemplo, en Opencode lo agregas al opencode.json:

{
  "mcp": {
    "wikicfp-mcp": {
      "command": [
        "/home/simon/dev/wikicfp-mcp/.venv/bin/python",
        "/home/simon/dev/wikicfp-mcp/src/main.py"
      ],
      "enabled": true,
      "type": "local"
    }
  }
}

Después de esta configuración, el agente descubre las herramientas automáticamente y simplemente puedes preguntarle cosas como:

"Encuentra próximas conferencias sobre Green AI con fechas límite después de septiembre."

Herramientas

search_conferences

Busca en WikiCFP conferencias académicas que coincidan con una consulta.

Argumento

Tipo

Descripción

query

string (requerido)

Términos de búsqueda (p. ej., "ai agent", "machine learning")

year

string (opcional)

Filtro de año: t (este año, predeterminado), n (próximo año), a (todos)

limit

number (opcional)

Número máximo de conferencias a devolver (predeterminado: 10)

Devuelve una lista de conferencias, cada una con nombre, descripción, fechas (when), ubicación (where), fecha límite de envío (deadline) y la URL de WikiCFP (url):

[
  {
    "name": "Cyber-AI 2026",
    "description": "The 2nd IEEE 2026 International Conference on Cybersecurity and AI-Based Systems (Scopus)",
    "when": "Sep 22, 2026 - Sep 25, 2026",
    "where": "Bucharest, Romania",
    "deadline": "Jul 31, 2026",
    "url": "http://www.wikicfp.com/cfp/servlet/event.showcfp?eventid=191252&copyownerid=196290"
  }
]

conference_details

Obtén los detalles completos de la llamada a ponencias de una conferencia desde la URL de su página en WikiCFP (el campo url devuelto por search_conferences).

Argumento

Tipo

Descripción

url

string (requerido)

URL de la página del evento en WikiCFP de search_conferences

Devuelve nombre, descripción, fechas, ubicación, sitio web oficial, todas las fechas límite y categorías:

{"name": "SMARTGREENS 2027",
 "description": "SMARTGREENS  2027 : 16th International Conference on Smart Cities and Green ICT Systems",
 "when": "Apr 16, 2027 - Apr 17, 2027", "where": "Rome, Italy",
 "website": "https://smartgreens.scitevents.org/",
 "submission_deadline": "Nov 17, 2026", "notification_due": "Jan 15, 2027", "final_version_due": "Jan 27, 2027",
 "categories": ["services", "grid computing", "green computing", "smart grid"]}

list_categories

Lista todas las categorías de conferencias rastreadas por WikiCFP, ordenadas por el número de CFPs cada una.

Devuelve hasta ~300 categorías con nombre, URL de navegación y recuento de CFPs:

[{"name": "artificial intelligence", "url": "http://www.wikicfp.com/cfp/call?conference=artificial intelligence", "count": 10667},
 {"name": "machine learning", "url": "http://www.wikicfp.com/cfp/call?conference=machine learning", "count": 6454},
 {"name": "green computing", "url": "http://www.wikicfp.com/cfp/call?conference=green computing", "count": 149}, ...]

conferences_by_category

Lista las conferencias en una categoría de WikiCFP, una página a la vez. Esta es la vista completa de una categoría: cada CFP en ella es accesible iterando page desde 1 hasta total_pages (~20 por página), a diferencia de la búsqueda por palabras clave que WikiCFP limita.

Argumento

Tipo

Descripción

category

string (requerido)

Nombre de la categoría devuelto por list_categories

page

number (opcional)

Número de página a devolver, basado en 1 (predeterminado: 1)

Devuelve metadatos de la página (total_pages, total_cfps) más las conferencias en esa página. Ten en cuenta que las páginas posteriores incluyen CFPs expirados.

{"category": "green computing", "page": 1, "total_pages": 8, "total_cfps": 149,
 "conferences": [
   {"name": "SMARTGREENS 2027",
    "description": "16th International Conference on Smart Cities and Green ICT Systems",
    "when": "Apr 16, 2027 - Apr 17, 2027", "where": "Rome, Italy",
    "deadline": "Nov 17, 2026",
    "url": "http://www.wikicfp.com/cfp/servlet/event.showcfp?eventid=201733&copyownerid=45217"},
   {"name": "GREEN 2026",
    "description": "The Eleventh International Conference on Green Communications, Computing and Technologies",
    "when": "Oct 25, 2026 - Oct 29, 2026", "where": "Lisbon, Portugal",
    "deadline": "Jul 6, 2026",
    "url": "http://www.wikicfp.com/cfp/servlet/event.showcfp?eventid=199671&copyownerid=83510"}]}

find_conferences

Encuentra próximas conferencias que coincidan con alguna de las palabras clave dadas.

Argumento

Tipo

Descripción

keywords

string[] (requerido)

Lista de términos de búsqueda; una conferencia coincide si algún término coincide

year

string (opcional)

Filtro de año: t (este año), n (próximo año), a (todos, predeterminado)

min_deadline

string (opcional)

Solo conserva conferencias cuya fecha límite de envío sea igual o posterior a esta fecha (YYYY-MM-DD o Mon D, YYYY)

limit

number (opcional)

Número máximo de conferencias a devolver (predeterminado: 50)

Busca en WikiCFP cada palabra clave, fusiona y elimina duplicados de los resultados, y conserva solo las conferencias que aún no han terminado. Los resultados se ordenan por fecha límite de envío (más próxima primero). Las conferencias cuyas fechas o fechas límite son desconocidas (N/A, TBD) siempre se conservan.

[{"name": "MIT AI Conference 2026",
  "description": "MIT AI Conference 2026- AI: The Age of Agency",
  "when": "Oct 17, 2026 - Oct 17, 2026", "where": "Computer History Museum Mountain View, C",
  "deadline": "Oct 17, 2026",
  "url": "http://www.wikicfp.com/cfp/servlet/event.showcfp?eventid=201388&copyownerid=199571"}, ...]

Available Tools

5 tools
conference_detailsA

Fetch full details for a conference from its WikiCFP page URL.

The URL is the url field returned by search_conferences. Includes dates, deadlines, website, and categories.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so the description carries full burden. It states the tool fetches details and includes 'dates, deadlines, website, and categories' – implying a read operation. However, it does not disclose potential errors (e.g., invalid URL, network issues) or any side effects. This is adequate for a simple fetch operation but lacks depth.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with the primary action. Every sentence adds value: first defines the core function, second clarifies the input source and output contents. No wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has an output schema, so the description does not need to detail return structure. It mentions included fields (dates, deadlines, website, categories). It does not discuss error handling or prerequisites beyond the URL source. Given the simplicity and presence of output schema, this is reasonably complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has a single required 'url' parameter with no description (0% coverage). The description adds meaning by specifying that the URL comes from 'search_conferences' and is a WikiCFP page URL. This helps the agent understand the expected format and source beyond the bare schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states it fetches 'full details for a conference' from a specific WikiCFP URL. This distinguishes it from sibling tools like search_conferences (which returns URLs) and list_categories (which lists categories). The verb 'fetch' and resource 'details' are specific and unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description says 'The URL is the `url` field returned by search_conferences', which implies a workflow: first use search_conferences, then this tool. While it doesn't explicitly exclude other sources or describe when not to use it, the guidance is clear enough for an agent to understand the typical usage context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

conferences_by_categoryA

List conferences in a WikiCFP category, one page at a time.

This is the complete view of a category: every conference in it is reachable by iterating page from 1 to total_pages (about 20 per page).

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number to return (1-based).
categoryYesCategory name as returned by list_categories.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Given no annotations exist, the description fully covers behavioral traits: it's a paginated list operation ('one page at a time'), explains the total reachable set ('every conference in it is reachable'), and documents the page size ('about 20 per page'). This provides complete transparency for a read-only browsing tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences with zero waste. The first sentence clearly states the function, and the second provides essential usage guidance about iterating pages. Every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has an output schema, the description doesn't need to explain return values. It has 2 simple parameters with 100% schema coverage, no annotations needed, and the description completely covers the tool's purpose, usage pattern, and behavioral scope. No gaps remain.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the schema already documents both parameters well (category as a string from list_categories, page as integer with default 1 and 1-based). The description adds context that page iterates to total_pages, but this is implied by pagination behavior. Baseline 3 is appropriate since schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('List conferences') and explicitly names the resource ('WikiCFP category' with pagination behavior). It clearly distinguishes itself from siblings like search_conferences or find_conferences by focusing on category browsing rather than search.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description states this is 'the complete view of a category' and provides explicit instructions on how to use it: iterating page from 1 to total_pages. It implies this is the right tool when you want to see all conferences in a specific category, contrasting with a search tool. Sibling names provide additional context for alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

find_conferencesA

Find upcoming conferences matching any of the given keywords.

Searches WikiCFP for each keyword, merges and deduplicates the results, and keeps only conferences that have not ended yet. Results are sorted by submission deadline (soonest first).

ParametersJSON Schema
NameRequiredDescriptionDefault
yearNoYear filter: 't' (this year), 'n' (next year), or 'a' (all).a
limitNoMaximum number of conferences to return.
keywordsYesList of search terms; a conference matches if any term matches.
min_deadlineNoOnly keep conferences whose submission deadline is on or after this date (YYYY-MM-DD or "Mon D, YYYY").

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It transparently explains that the tool searches WikiCFP, merges and deduplicates results, filters out ended conferences, and sorts by submission deadline. This is clear and actionable for an agent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three sentences, each adding necessary information: the core action, the search and merging process, and the sorting/filtering details. No fluff—every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's moderate complexity (4 params, output schema present), the description adequately covers behavior and filtering. However, it could briefly mention the output schema's structure (e.g., 'returns conference names, deadlines, and links') since no output schema details are visible to the agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so all parameters are documented in the schema. The description adds value by explaining how 'keywords' drives the search (each keyword yields results, which are merged) and how sorting works ('sorted by submission deadline'), but does not go beyond schema for other parameters like 'year', 'limit', or 'min_deadline'.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Find') and resource ('upcoming conferences matching any of the given keywords'), clearly distinguishing it from sibling tools like 'search_conferences' (which likely searches by different criteria) or 'list_categories' (which organizes by category).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit 'when to use' or 'when not to use' guidance is given, nor are siblings mentioned. The description implies usage (for keyword-based conference discovery), but the agent must infer that this tool is ideal when the user provides keywords, while 'conference_details' is for specific conferences and 'conferences_by_category' for browsing by category.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_categoriesA

List all conference categories tracked by WikiCFP, ordered by number of CFPs.

Each result includes the category name, the number of CFPs, and a URL that can be used to browse conferences in that category.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden for behavioral disclosure. It explains the ordering (by number of CFPs) and the returned fields, implying a read-only operation. It does not discuss potential size limits or pagination, but for a simple enumeration the transparency is good.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description consists of two concise sentences that immediately state the core action and output details. Every sentence adds essential information without redundancy. It is front-loaded and efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has no parameters and an output schema exists, the description provides all necessary context: the data source (WikiCFP), operational behavior (lists all, ordered), return fields, and a usage hint (URL for browsing conferences). It is fully complete for its simple scope.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has no parameters, so schema coverage is effectively 100%. According to guidelines, a baseline of 3 is appropriate when schema coverage is high. The description adds value by describing the output structure, but it does not contribute parameter-level semantics since none exist.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool lists all conference categories tracked by WikiCFP, ordered by number of CFPs, and enumerates output fields. This distinguishes it from sibling tools like 'conferences_by_category' which focuses on conferences within a category, so the purpose is specific and differentiated.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explains what the tool does (lists categories) but does not provide explicit guidance on when to use it versus alternatives such as 'conferences_by_category' or 'search_conferences'. The usage context is implied rather than stated, and no exclusions are mentioned, making it adequate but lacking direct differentiation.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_conferencesA

Search WikiCFP for academic conferences matching a query.

ParametersJSON Schema
NameRequiredDescriptionDefault
yearNoYear filter: 't' (this year), 'n' (next year), or 'a' (all).t
limitNoMaximum number of conferences to return.
queryYesSearch terms (e.g. "ai agent", "machine learning").

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden. It discloses the tool searches an external source (WikiCFP), implying network dependency, but doesn't mention rate limits, pagination behavior, or whether queries must match exactly. The sentence is honest but minimal.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence with zero waste. Every word contributes to stating the tool's purpose. It is appropriately sized for the tool's simplicity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite an output schema hint (has output schema: true) and complete schema documentation, the description is minimal. It doesn't explain search behavior (e.g., fuzzy or exact), result sorting, or what happens with invalid queries. For a search tool with siblings, additional context would help.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The description adds no additional meaning beyond the schema; parameters are well-documented by the schema itself (e.g., year filter defaults, limit integer). The description's brief mention of 'matching a query' reinforces query usage but doesn't add new context.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool searches WikiCFP for academic conferences matching a query, using specific verb-resource pairing ('Search WikiCFP'). It distinguishes from siblings like conference_details by focusing on search rather than detail retrieval, though it doesn't explicitly differentiate from find_conferences.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for discovering conferences via query but provides no guidance on when to use this over siblings like find_conferences or conferences_by_category. It lacks explanation of search specificity or alternatives, leaving the agent to infer context from sibling names.

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.

  1. 5 tool updatesv0.1.0
    • First observedconference_details
    • First observedconferences_by_category
    • First observedfind_conferences
    • First observedlist_categories
    • First observedsearch_conferences

TDQS

A4/5.0

Scored across 5 tools

Disambiguation4/5

Tools are largely distinct: search vs browse vs details. However, `search_conferences` and `find_conferences` both perform search-like functions. `find_conferences` is more specific (upcoming, keyword-based, deduplicated, sorted by deadline), but their overlap could cause confusion for an agent.

Naming Consistency4/5

All tool names follow a consistent `verb_noun` pattern (e.g., conference_details, search_conferences, list_categories). The naming is clear and predictable, although `find_conferences` could have been named `search_upcoming_conferences` for more precision.

Tool Count5/5

With 5 tools, the server is tightly scoped to conference discovery. Each tool serves a clear purpose: searching, browsing by category, getting details, and filtering upcoming events. No tool feels redundant or extraneous.

Completeness4/5

The server covers the core conference browsing and search flows well. Missing elements include user account interactions or personalized features, which are likely out of scope. A small gap: there is no direct way to fetch all upcoming conferences without specifying keywords.

Maintenance

ActivitySlowing
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    SERP-free scholarly search MCP server that queries academic sources like arXiv, Semantic Scholar, and conference proceedings using official APIs and reverse-engineered endpoints, with no API keys required. It supports unified conference search and returns normalized paper metadata.
    3
    MIT
  • F
    license
    Not graded
    quality
    B
    maintenance
    Serves academic conference and journal data via MCP and REST, including CFP deadlines, CCF/CORE/QUALIS rankings, acceptance rates, journal impact factors, and special issues.
    -