{
  "markdown": "# Conference Partner — MCP server & REST API\n\n[![Data snapshot](https://github.com/sundou82/conference-partner-mcp/actions/workflows/snapshot.yml/badge.svg)](https://github.com/sundou82/conference-partner-mcp/actions/workflows/snapshot.yml)\n[![API spec](https://github.com/sundou82/conference-partner-mcp/actions/workflows/sync-spec.yml/badge.svg)](https://github.com/sundou82/conference-partner-mcp/actions/workflows/sync-spec.yml)\n[![MCP registry](https://img.shields.io/badge/MCP%20registry-com.myhuiban.www%2Fconference--partner-blue)](https://registry.modelcontextprotocol.io)\n\nAcademic **conference and journal** data for AI agents and scripts: CFP deadlines,\nCCF / CORE / QUALIS rankings, acceptance-rate history, edition history, journal impact\nfactors and special issues — served by [Conference Partner](https://www.myhuiban.com)\n(会伴), a conference tracker that has been maintained since 2013.\n\nTwo surfaces over one dataset:\n\n| | Endpoint | For |\n|---|---|---|\n| **MCP** | `https://www.myhuiban.com/mcp` (Streamable HTTP) | Claude, ChatGPT, Cursor, VS Code, any MCP client |\n| **REST** | `https://www.myhuiban.com/api/*` | scripts, backends, OpenAPI codegen |\n\nBoth are backed by the same services and return **identical payloads** — the only\ndifference is the protocol envelope.\n\n**Search, ranking lists and site statistics need no credentials at all.** Point a client\nat the URL and the first call works.\n\n```bash\ncurl \"https://www.myhuiban.com/api/conferences?ccf_rank=A&field=ai&submission_date_start=2026-08-05\"\n```\n\n---\n\n## Add it to your MCP client\n\n<details open>\n<summary><b>Claude Code</b></summary>\n\n```bash\nclaude mcp add --transport http conference-partner https://www.myhuiban.com/mcp\n```\n</details>\n\n<details>\n<summary><b>Claude.ai / Claude Desktop</b> (Settings → Connectors → Add custom connector)</summary>\n\nRemote MCP server URL:\n\n```\nhttps://www.myhuiban.com/mcp\n```\n\nTo unlock the detail tools, add a static request header in the connector's advanced\nsettings: `Authorization: Bearer hb_xxx` (see [Credentials](#credentials)).\n</details>\n\n<details>\n<summary><b>Cursor</b> — <code>~/.cursor/mcp.json</code> or <code>.cursor/mcp.json</code></summary>\n\n```json\n{\n  \"mcpServers\": {\n    \"conference-partner\": {\n      \"url\": \"https://www.myhuiban.com/mcp\"\n    }\n  }\n}\n```\n</details>\n\n<details>\n<summary><b>VS Code</b> — <code>.vscode/mcp.json</code></summary>\n\n```json\n{\n  \"servers\": {\n    \"conference-partner\": {\n      \"type\": \"http\",\n      \"url\": \"https://www.myhuiban.com/mcp\"\n    }\n  }\n}\n```\n</details>\n\n<details>\n<summary><b>ChatGPT</b> (Settings → Connectors → Create)</summary>\n\nMCP server URL `https://www.myhuiban.com/mcp`, authentication **No authentication**\n(or *API key* with your `hb_` key to enable the detail tools).\n</details>\n\nReady-to-copy files for each client live in [`examples/mcp-config/`](examples/mcp-config/),\nand the per-client walkthrough — including how to attach a key — is in\n[`docs/mcp-clients.md`](docs/mcp-clients.md).\n\nAlso listed on [Smithery](https://smithery.ai/server/sundou82/conference-partner),\n[Glama](https://glama.ai/mcp/connectors/com.myhuiban.www/conference-partner) and the\n[official MCP registry](https://registry.modelcontextprotocol.io) as\n`com.myhuiban.www/conference-partner`.\n\n---\n\n## Tools\n\nEight read-only tools, each with a REST twin returning the same payload.\n\n| Tool | REST twin | Credentials |\n|---|---|---|\n| `search_conferences` | `GET /api/conferences` | — |\n| `search_journals` | `GET /api/journals` | — |\n| `list_conferences` | `GET /api/conferences/rankings/{ranking}` | — |\n| `list_journals` | `GET /api/journals/rankings/{ranking}` | — |\n| `get_statistics` | `GET /api/statistics` | — |\n| `get_conference` | `GET /api/conferences/{id}` | free account |\n| `get_journal` | `GET /api/journals/{id}` | free account |\n| `get_researcher` | `GET /api/researchers/{id}` | free account |\n\nSearch accepts any combination of keyword, `ccf_rank` (A/B/C), `core_rank` (A\\*/A/B/C),\n`qualis_rank`, `field` (14 CS areas), submission/conference date ranges and\n`updated_since` for incremental sync. **Every parameter is optional** — filter-only\nqueries such as \"AI conferences with a deadline in the next 90 days\" are the point.\n\nRanking lists cover open CFPs, the three tier lists, popularity, lowest acceptance rate,\ntrending, upcoming/past — and for journals, special-issue CFPs and highest impact factor.\n\n### Prompts\n\nThe MCP server also ships **prompts** — ready-made tasks your client offers as one-click\nstarting points, so you are not left staring at a list of tool names:\n\n| Prompt | What it does |\n|---|---|\n| `upcoming_deadlines` | deadlines you can still submit to, by field and tier |\n| `where_to_submit` | give it a paper topic, get ranked venues whose calls are open |\n| `venue_snapshot` | everything on record for one conference or journal |\n| `open_special_issues` | journals currently running a special-issue call |\n\nFull machine-readable definitions, refreshed from production by CI:\n[`spec/openapi.json`](spec/openapi.json) and [`spec/mcp-tools.json`](spec/mcp-tools.json).\n\n---\n\n## Credentials\n\n| Tier | How | Limit |\n|---|---|---|\n| **Anonymous** | send nothing | 50 requests/day per source IP |\n| **Free account** | `Authorization: Bearer hb_xxx` | 200 requests/day, shared across REST + MCP |\n| Paid | — | *planned, not available yet* |\n\nCreate a key at [myhuiban.com/account/api-keys](https://www.myhuiban.com/account/api-keys)\n— it never expires and can be revoked individually, which is what you want for a client\nthat only lets you pin a fixed request header. A JWT from `POST /api/login` works too and\ndraws on the same pool.\n\nEvery response carries `X-Quota-Limit` and `X-Quota-Remaining`. CORS is open, so browser\nJavaScript works.\n\n`401` = this endpoint needs a credential, or the one you sent is invalid. An unusable\ncredential is **never** silently downgraded to the anonymous tier.\n`402` = account quota exhausted. `429` = anonymous per-IP quota exhausted.\n\n---\n\n## Examples\n\nRunnable, no API key required:\n\n```bash\n# upcoming CCF-A deadlines in AI, next 90 days\npython examples/python/upcoming_deadlines.py --field ai --ccf A --days 90\n\n# same thing in Node\nnode examples/node/upcoming-deadlines.mjs --field ai --ccf A --days 90\n\n# build your own deadline snapshot (JSON + CSV + Markdown table)\npython examples/python/export_deadlines.py --out ./snapshot\n\n# incremental sync — only what changed since your last checkpoint\npython examples/python/incremental_sync.py --since 2026-07-01\n\n# shell one-liners\nbash examples/curl/quickstart.sh\n```\n\nSee [`examples/README.md`](examples/README.md).\n\n### Watch deadlines from your own repo\n\n[`actions/deadline-watch`](actions/deadline-watch/) is a GitHub Action that keeps one\nissue up to date with the deadlines you can still submit to — no API key, nothing to\nhost. [Issue #1](https://github.com/sundou82/conference-partner-mcp/issues/1) is this\nrepo running it on a schedule, so you can see the output before adopting it.\n\n```yaml\n- uses: sundou82/conference-partner-mcp/actions/deadline-watch@main\n  with:\n    field: security\n    days: 120\n```\n\n---\n\n## Download the data\n\n[**`data/`**](data/) carries a snapshot refreshed daily by CI, as JSON and CSV:\n\n| | |\n|---|---|\n| [`upcoming-deadlines`](data/upcoming-deadlines.csv) | every conference whose deadline has not passed |\n| [`ccf-conferences`](data/ccf-conferences.csv) · [`core-conferences`](data/core-conferences.csv) · [`qualis-conferences`](data/qualis-conferences.csv) | the tier catalogues — all three ranks are columns on every row |\n| [`open-calls-by-rank`](data/open-calls-by-rank.csv) | the ranked venues you can still submit to today |\n| [`ccf-journals`](data/ccf-journals.csv) · [`top-impact-factor-journals`](data/top-impact-factor-journals.csv) | journals by tier and by impact factor |\n| [`journal-special-issues`](data/journal-special-issues.csv) | journals with an open special-issue call |\n\n[`data/README.md`](data/README.md) renders the next 90 days as a table you can read in\nthe browser.\n\nThe snapshot covers exactly what the **anonymous tier already serves** — nothing in it is\ngated. Per-venue detail (CFP full text, acceptance-rate history, edition history, ratings)\nstays behind the API, where a free key reaches it.\n\nA file is stale the moment a deadline is extended, which in submission season is daily.\nUse it to browse, diff or bulk-load; call the API when it has to be right.\n\n### Subscribe to deadline changes, for free\n\nCI commits `data/` once a day and only when something actually changed, so the commit\nhistory of that directory **is** a change feed. GitHub publishes it as Atom, no account\nneeded:\n\n```\nhttps://github.com/sundou82/conference-partner-mcp/commits/main/data.atom\n```\n\nPoint a feed reader at it, or diff two commits to see exactly which deadlines moved:\n\n```bash\ngit log --oneline -- data/\ngit diff HEAD~1 HEAD -- data/upcoming-deadlines.csv\n```\n\nWatching the repo on GitHub (*Watch → Custom → Releases*, or all activity) gets you the\nsame signal as email.\n\n---\n\n## Why this dataset\n\nDeadline lists are easy to find. These are the parts that are hard to reproduce:\n\n- **Three ranking systems in one row** — CCF, CORE and QUALIS on the same venue, so\n  \"CCF-A that is also CORE-A\\*\" is one query rather than a join across three sources.\n- **Acceptance-rate history** and **edition history** — how a venue's selectivity and\n  location moved across editions, back to 2013.\n- **Journals as first-class entities** — impact factor, publisher, ISSN, and\n  special-issue CFPs, which conference-only lists do not carry.\n- **Incremental sync** — `updated_since` with an `updated_at` watermark on every row, so\n  a mirror is a diff rather than a re-crawl.\n- Human-curated, not scraped: dates are entered and corrected by maintainers and by the\n  organisers themselves through a venue-claim process.\n\nMethodology, coverage and known limits: [myhuiban.com/methodology](https://www.myhuiban.com/methodology).\n\n---\n\n## About this repository\n\nThis repo is the distribution entry point for the API and MCP server: client\nconfiguration, examples, and CI-synced specs. **The server itself is not open source** —\nit is a hosted service; nothing here needs to be installed or run to use it.\n\n- [`docs/mcp-clients.md`](docs/mcp-clients.md) — per-client setup, with and without a key\n- [`docs/rest-api.md`](docs/rest-api.md) — endpoints, parameters, errors, incremental sync\n- [`docs/data.md`](docs/data.md) — what is in the dataset, attribution, terms\n- [`examples/`](examples/) — runnable Python, Node and curl clients; MCP config files\n- [`spec/`](spec/) — OpenAPI 3 document, MCP tool definitions and server card, re-fetched\n  from production daily by [CI](.github/workflows/sync-spec.yml) so they cannot go stale\n\nAuthoritative reference: **[myhuiban.com/developers](https://www.myhuiban.com/developers)**.\nWhere this repo and that page ever disagree, the page is right — it ships with the API.\n\nIssues and PRs about the client-side material here are welcome. For data corrections use\nthe \"report\" link on the venue page, and for anything else email `admin@myhuiban.com`.\n\n## License\n\n[MIT](LICENSE) for the code and configuration in this repository.\n\nThe **data served by the API is not covered by that license**. It is free to use,\nincluding commercially, with attribution: cite the canonical venue URL and\n\"Conference Partner (myhuiban.com)\". If your claim is about a ranking value itself, cite\nthe ranking body — Conference Partner reproduces those lists, it does not define them.\nBulk use should start from `data/` rather than a crawl of your own, and dataset licensing\nor model training needs a conversation first. See [`docs/data.md`](docs/data.md) and the\n[terms on the site](https://www.myhuiban.com/developers).\n",
  "bytes": 11764,
  "sha": "8acbc08a227efe9f45bef21c0231b51bf6a1fc43666b64fdd5d92baeaa9077cc",
  "repo_slug": "sundou82/conference-partner-mcp",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_com_myhuiban_www_conference_partner_1306114a/readme"
}