{"id":"oksure-openalex-research-mcp","name":"openalex-research-mcp","homepage":null,"repo_url":"https://github.com/oksure/openalex-research-mcp","category":"ai-ml","subcategories":[],"tags":["mcp","openalex","literature-review","bibliometrics","citation-analysis","research-trends","typescript","nodejs","academic-search"],"what_it_does":"Provides an MCP (Model Context Protocol) server that exposes OpenAlex scholarly data to AI assistants via ~31 specialized tools for literature search, entity lookup, citation/reference analysis, trend analysis, and preset-based (journal/institution) constrained discovery. Includes CLI-based setup for MCP client integration (e.g., Claude Desktop) and supports options like caching, validation, and retry behavior.","use_cases":["Literature review workflows (broad search, targeted discovery, seminal/review paper finding)","Citation network and citation analysis (forward/backward citations; network building)","Research trend and landscape analysis (topic trends, geographic distribution, comparative areas)","Expert discovery (author search and author profiles/collaborators)","Credibility-gated search using curated journal/conference presets and institution group presets"],"not_for":["Use as a general-purpose OpenAlex API wrapper for non-MCP clients without adapting to MCP tool calls","Use cases requiring strict contractual SLA guarantees or enterprise-grade uptime/monitoring commitments (not documented in provided content)","Workflows that require fine-grained, guaranteed-complete payloads for list/search responses (the server intentionally truncates for summarized responses)"],"best_when":"You want an MCP-compatible assistant to perform iterative literature search and analysis against OpenAlex data with structured tool access and preset-based constraints.","avoid_when":"You require a REST/GraphQL/SDK integration path or hard guarantees about response completeness/size for every tool call (summarized outputs are intentionally abbreviated).","alternatives":["OpenAlex REST API directly","Other MCP servers/wrappers around OpenAlex (if available)","Community-built OpenAlex client libraries for your preferred language/runtime"],"af_score":73.9,"security_score":50.8,"reliability_score":35.0,"package_type":"mcp_server","discovery_source":["github"],"priority":"high","status":"evaluated","version_evaluated":null,"last_evaluated":"2026-03-30T15:36:58.079823+00:00","interface":{"has_rest_api":false,"has_graphql":false,"has_grpc":false,"has_mcp_server":true,"mcp_server_url":null,"has_sdk":false,"sdk_languages":["JavaScript","TypeScript"],"openapi_spec_url":null,"webhooks":false},"auth":{"methods":["MCP server env var configuration: OPENALEX_EMAIL (optional)","Optional OPENALEX_API_KEY (for premium users)"],"oauth":false,"scopes":false,"notes":"Authentication is delegated to OpenAlex via optional email/API key. No OAuth flows or fine-grained scopes are described in the provided README."},"pricing":{"model":null,"free_tier_exists":false,"free_tier_limits":null,"paid_tiers":[],"requires_credit_card":false,"estimated_workload_costs":null,"notes":"No pricing tiers or billing are described for this MCP wrapper. OpenAlex usage/rate limits may depend on OpenAlex-side policies; the README references 'polite pool' for better rate limits via email."},"requirements":{"requires_signup":false,"requires_credit_card":false,"domain_verification":false,"data_residency":[],"compliance":[],"min_contract":null},"agent_readiness":{"af_score":73.9,"security_score":50.8,"reliability_score":35.0,"mcp_server_quality":86.0,"documentation_accuracy":75.0,"error_message_quality":0.0,"error_message_notes":null,"auth_complexity":88.0,"rate_limit_clarity":48.0,"tls_enforcement":70.0,"auth_strength":55.0,"scope_granularity":10.0,"dependency_hygiene":40.0,"secret_handling":75.0,"security_notes":"Security posture is inferred from the README only: it uses HTTPS implicitly for typical API calls but does not explicitly guarantee TLS-only behavior. Optional API key support is described, but there is no mention of encryption-at-rest, secret redaction, audit logging, or fine-grained scopes. The README suggests prompt-based setup that writes client config; risk of leaking secrets into config files exists if the user shares configs. Dependency hygiene cannot be verified from the provided content (only package dependencies listed), so the score is conservative.","uptime_documented":0.0,"version_stability":45.0,"breaking_changes_history":20.0,"error_recovery":75.0,"idempotency_support":"true","idempotency_notes":"Most tools are read/search operations and should be effectively idempotent; the README emphasizes retries with exponential backoff, which generally should not break idempotency for read endpoints, but no explicit idempotency guarantees are stated.","pagination_style":"page/per_page (max 200, default 10)","retry_guidance_documented":true,"known_agent_gotchas":["Summarized list/search responses are intentionally truncated (e.g., authors limited to first 5 with a flag, and references/affiliations omitted) so follow-up calls like get_work may be required for completeness.","Some MCP clients (e.g., TypingMind) may produce 'tool_use_id' errors; troubleshooting suggests starting a new chat and requesting fewer results.","Pagination exists (page/per_page); agents requesting large result sets should manage per_page and pagination to avoid overly large responses."]}}