ieee-search-mcp
Use this skill when user requires IEEE Xplore search through school library access (proxy/SSO session), not direct public IEEE entry.
Preconditions
- Browser MCP (for example
chrome-devtools or equivalent) is already installed and available.
- The agent has permission to control a browser.
- If either condition is missing, stop and explicitly say this workflow cannot be executed in-browser.
- For relative time filters (for example "近2年"), use local time/date tool first and compute explicit year range before filtering.
School Profiles (pluggable)
- Load school profile from
assets/school_profiles.example.json.
- If school is not provided, ask user first.
- Treat these as pluggable fields per school:
library_home
proxy_ieee_home
db_keyword_candidates
- Optional:
known_database_detail_url
- Optional:
known_journals — a map of alias -> {name, punumber, proxy_url} for journals the user accesses frequently
- Demo/default profile is
wust (Wuhan University of Science and Technology).
Common User Intent Paths
Path A: Login + Keyword search + recent years
- Open
library_home, verify login state.
- If login required, ask user to complete SSO/QR and wait.
- Search DB by
db_keyword_candidates in order (for WUST try IEL before IEEE if needed).
- Enter IEEE from library entry and verify institutional session.
- Run keyword search.
- Apply explicit year range (for example if current year is 2026, "近2年" means 2025-2026).
- Return results using requested format.
Path B: Continue from existing proxy IEEE page
- If user provides/opened proxy URL (for example
metaersp-2.../ieeexplore/...), continue in the same page/session.
- Do not open
https://ieeexplore.ieee.org/ directly unless user confirms fallback.
- Re-verify
Access provided by: or proxy host before searching.
Path C: Advanced search / Journal search
- Confirm mode with user (
keyword / advanced / journal).
- Ask for missing constraints (query fields, journal name, years, document type).
- Execute search and return structured results.
Path D: Known Journal / Direct Navigation (fast path)
When user mentions a journal by alias or full name and the profile has a known_journals entry:
- Match user input against
known_journals keys (case-insensitive) or name fields.
- If matched, navigate directly to the cached
proxy_url — skip Path A search flow entirely.
- Verify institutional session (
Access provided by: or proxy host in URL).
- If session expired, fall through to Path A to re-authenticate, then return to the cached URL.
- After reaching the journal page, proceed with any user-requested action (browse recent, search within, etc.).
Learning new journal shortcuts
When the user navigates to a journal not yet in known_journals:
- Record the punumber and constructed proxy URL after successful navigation.
- Remind the user: "I've noted this journal as a known shortcut — next time just mention it by name and I'll go directly."
- The agent should suggest adding to
known_journals in the school profile. If the user confirms, update assets/school_profiles.example.json accordingly.
Failure Branches From Real WUST Flow
- DB alias mismatch: searching
IEEE may fail, retry IEL.
- Click timeout on DB row: refresh snapshot and retry once.
- Still cannot click: navigate to known detail URL (
known_database_detail_url) if profile has it.
- Session drift: if jumped to public
ieeexplore.ieee.org, immediately restore proxy route via proxy_ieee_home.
- Page/tool argument error: re-check tool parameter type/naming before retry (for example
pageId must be number).
Mandatory user checkpoints
Ask user instead of guessing at these points:
- School or library profile not confirmed.
- Login step requires human action (captcha/QR/2FA).
- Multiple near-identical database entries appear and click target is ambiguous.
- User requests conflicting constraints (for example "only proxy session" and "jump to public site").
- Output schema not specified but user asks for "整理成表格/导出".
Optional CCF Post-Filter (with ccf-rank skill)
If user asks for "只要 CCF-A/CCF-B" or similar:
- Collect venue/journal from IEEE results.
- Use sibling skill script:
node ../ccf-rank/scripts/query_ccf_rank.mjs "<venue or journal>" --top 3
- Keep only rows matching requested rank (for example
A).
- In output, include both IEEE fields and CCF fields (
type, rank, area).
Output Rules
- Honor user-specified format first.
- If user requests a table, output Markdown table with requested columns.
- If user does not specify columns, default columns:
title | year | venue/journal | authors | access_path | ieee_url | ccf_rank(optional).
- Always include
access_path so user can confirm proxy route is used.
- For time-based filters, include explicit year range in response text.
Minimal run summary
For each run, report these 5 items:
- Access path used (
library_home -> db alias -> IEEE proxy page).
- Institutional access preserved or not.
- Query mode + query + filters.
- Result list (or table).
- Next action options (advanced search / journal search / CCF filter / open full text).
1---2name: ieee-search-mcp3description: Use browser MCP to access IEEE Xplore through university library proxy, preserve institutional session, run keyword/advanced/journal search, and optionally post-filter by CCF rank (for example CCF-A) with structured output.4---56# ieee-search-mcp78Use this skill when user requires IEEE Xplore search through school library access (proxy/SSO session), not direct public IEEE entry.910## Preconditions1112- Browser MCP (for example `chrome-devtools` or equivalent) is already installed and available.13- The agent has permission to control a browser.14- If either condition is missing, stop and explicitly say this workflow cannot be executed in-browser.15- For relative time filters (for example "近2年"), use local time/date tool first and compute explicit year range before filtering.1617## School Profiles (pluggable)18191. Load school profile from `assets/school_profiles.example.json`.202. If school is not provided, ask user first.213. Treat these as pluggable fields per school:22 - `library_home`23 - `proxy_ieee_home`24 - `db_keyword_candidates`25 - Optional: `known_database_detail_url`26 - Optional: `known_journals` — a map of alias -> `{name, punumber, proxy_url}` for journals the user accesses frequently274. Demo/default profile is `wust` (Wuhan University of Science and Technology).2829## Common User Intent Paths3031### Path A: Login + Keyword search + recent years32331. Open `library_home`, verify login state.342. If login required, ask user to complete SSO/QR and wait.353. Search DB by `db_keyword_candidates` in order (for WUST try `IEL` before `IEEE` if needed).364. Enter IEEE from library entry and verify institutional session.375. Run keyword search.386. Apply explicit year range (for example if current year is 2026, "近2年" means 2025-2026).397. Return results using requested format.4041### Path B: Continue from existing proxy IEEE page42431. If user provides/opened proxy URL (for example `metaersp-2.../ieeexplore/...`), continue in the same page/session.442. Do not open `https://ieeexplore.ieee.org/` directly unless user confirms fallback.453. Re-verify `Access provided by:` or proxy host before searching.4647### Path C: Advanced search / Journal search48491. Confirm mode with user (`keyword` / `advanced` / `journal`).502. Ask for missing constraints (query fields, journal name, years, document type).513. Execute search and return structured results.5253### Path D: Known Journal / Direct Navigation (fast path)5455When user mentions a journal by alias or full name and the profile has a `known_journals` entry:56571. Match user input against `known_journals` keys (case-insensitive) or `name` fields.582. If matched, navigate directly to the cached `proxy_url` — skip Path A search flow entirely.593. Verify institutional session (`Access provided by:` or proxy host in URL).604. If session expired, fall through to Path A to re-authenticate, then return to the cached URL.615. After reaching the journal page, proceed with any user-requested action (browse recent, search within, etc.).6263### Learning new journal shortcuts6465When the user navigates to a journal not yet in `known_journals`:66671. Record the punumber and constructed proxy URL after successful navigation.682. Remind the user: "I've noted this journal as a known shortcut — next time just mention it by name and I'll go directly."693. The agent should suggest adding to `known_journals` in the school profile. If the user confirms, update `assets/school_profiles.example.json` accordingly.7071## Failure Branches From Real WUST Flow7273- DB alias mismatch: searching `IEEE` may fail, retry `IEL`.74- Click timeout on DB row: refresh snapshot and retry once.75- Still cannot click: navigate to known detail URL (`known_database_detail_url`) if profile has it.76- Session drift: if jumped to public `ieeexplore.ieee.org`, immediately restore proxy route via `proxy_ieee_home`.77- Page/tool argument error: re-check tool parameter type/naming before retry (for example `pageId` must be number).7879## Mandatory user checkpoints8081Ask user instead of guessing at these points:8283- School or library profile not confirmed.84- Login step requires human action (captcha/QR/2FA).85- Multiple near-identical database entries appear and click target is ambiguous.86- User requests conflicting constraints (for example "only proxy session" and "jump to public site").87- Output schema not specified but user asks for "整理成表格/导出".8889## Optional CCF Post-Filter (with ccf-rank skill)9091If user asks for "只要 CCF-A/CCF-B" or similar:92931. Collect venue/journal from IEEE results.942. Use sibling skill script:95 `node ../ccf-rank/scripts/query_ccf_rank.mjs "<venue or journal>" --top 3`963. Keep only rows matching requested rank (for example `A`).974. In output, include both IEEE fields and CCF fields (`type`, `rank`, `area`).9899## Output Rules100101- Honor user-specified format first.102- If user requests a table, output Markdown table with requested columns.103- If user does not specify columns, default columns:104 `title | year | venue/journal | authors | access_path | ieee_url | ccf_rank(optional)`.105- Always include `access_path` so user can confirm proxy route is used.106- For time-based filters, include explicit year range in response text.107108## Minimal run summary109110For each run, report these 5 items:1111121. Access path used (`library_home -> db alias -> IEEE proxy page`).1132. Institutional access preserved or not.1143. Query mode + query + filters.1154. Result list (or table).1165. Next action options (advanced search / journal search / CCF filter / open full text).