Skip to main content
Glama
404Simon

wikicfp-mcp

by 404Simon

WikiCFP MCP

커뮤니티 큐레이션 학술 컨퍼런스 데이터베이스인 WikiCFP를 위한 읽기 전용 MCP 서버입니다. 컨퍼런스 검색, 전체 카테고리 탐색, 논문 모집 세부 정보를 MCP 도구로 제공합니다.

요구 사항

  • Python 3.13+

  • uv

Related MCP server: resp-mcp

설정

uv sync

구성

이것은 MCP 서버입니다. 코딩 에이전트의 MCP 구성에 등록하면 에이전트가 해당 도구를 사용할 수 있습니다.

대부분의 에이전트는 동일한 로컬 stdio 구성을 허용합니다. 예를 들어, Opencode에서는 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"
    }
  }
}

이 설정 후, 에이전트는 도구를 자동으로 발견하며, 다음과 같은 작업을 간단히 요청할 수 있습니다:

"9월 이후 마감인 그린 AI 관련 예정 컨퍼런스를 찾아줘."

도구

search_conferences

쿼리와 일치하는 학술 컨퍼런스를 WikiCFP에서 검색합니다.

인수

유형

설명

query

string (필수)

검색어 (예: "ai agent", "machine learning")

year

string (선택 사항)

연도 필터: t (올해, 기본값), n (내년), a (전체)

limit

number (선택 사항)

반환할 최대 컨퍼런스 수 (기본값: 10)

각 컨퍼런스의 이름, 설명, 날짜(when), 장소(where), 제출 deadline, 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

WikiCFP 페이지 URL(search_conferences에서 반환된 url 필드)에서 컨퍼런스의 전체 논문 모집 세부 정보를 가져옵니다.

인수

유형

설명

url

string (필수)

search_conferences의 WikiCFP 이벤트 페이지 URL

이름, 설명, 날짜, 장소, 공식 웹사이트, 모든 마감일, 카테고리를 반환합니다:

{"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

WikiCFP에서 추적하는 모든 컨퍼런스 카테고리를 각 CFP 수에 따라 정렬하여 나열합니다.

최대 ~300개의 카테고리를 이름, 탐색 URL, CFP 수와 함께 반환합니다:

[{"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

WikiCFP 카테고리의 컨퍼런스를 한 페이지씩 나열합니다. 이것은 카테고리의 전체 보기입니다. 키워드 검색이 WikiCFP에 의해 제한되는 것과 달리, page를 1부터 total_pages까지 반복하면 모든 CFP에 접근할 수 있습니다(페이지당 ~20개).

인수

유형

설명

category

string (필수)

list_categories에서 반환된 카테고리 이름

page

number (선택 사항)

반환할 페이지 번호, 1부터 시작 (기본값: 1)

페이지 메타데이터(total_pages, total_cfps)와 해당 페이지의 컨퍼런스를 반환합니다. 이후 페이지에는 만료된 CFP가 포함될 수 있습니다.

{"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

주어진 키워드 중 하나라도 일치하는 예정 컨퍼런스를 찾습니다.

인수

유형

설명

keywords

string[] (필수)

검색어 목록; 컨퍼런스는 하나라도 일치하는 용어가 있으면 매칭됨

year

string (선택 사항)

연도 필터: t (올해), n (내년), a (전체, 기본값)

min_deadline

string (선택 사항)

이 날짜(YYYY-MM-DD 또는 Mon D, YYYY) 이후의 제출 마감일이 있는 컨퍼런스만 유지

limit

number (선택 사항)

반환할 최대 컨퍼런스 수 (기본값: 50)

각 키워드에 대해 WikiCFP를 검색하고, 결과를 병합 및 중복 제거하며, 아직 종료되지 않은 컨퍼런스만 유지합니다. 결과는 제출 마감일(가장 가까운 순)로 정렬됩니다. 날짜나 마감일이 알려지지 않은(N/A, TBD) 컨퍼런스는 항상 유지됩니다.

[{"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.
    -