A side-by-side look at the MediaWiki MCP Server and PromptEden MCP servers: transport, auth, tools, quality signals, and the config to install either one in Claude, Cursor, Windsurf or VS Code.
Verdict: choose MediaWiki MCP Server for developer tools work as a local process; choose PromptEden for developer tools as a local process. You can also run both side by side in one mcpServers block.
CONFIG, MCP_TRANSPORT, MCP_LOG_LEVEL, MCP_CONTENT_MAX_BYTES.get-page, get-pages, get-page-history.PROMPTEDEN_API_KEY, PROMPTEDEN_BASE_URL.get_account, list_monitors, get_results.Rows where the two servers differ are marked.
| Spec | P PromptEden | |
|---|---|---|
| Category | Developer Tools | Developer Tools |
| Quality signal | 68/100 · Great | 53/100 · Good |
| Install command | Confirmed | Confirmed |
| Transport | Local subprocess (stdio) | Local subprocess (stdio) |
| Auth | Not declared | API key required |
| Pricing | Free | BYOK (pay the provider) |
| Required env vars | CONFIGMCP_TRANSPORTMCP_LOG_LEVELMCP_CONTENT_MAX_BYTES | PROMPTEDEN_API_KEYPROMPTEDEN_BASE_URL |
| Verified owner | Community listing | Community listing |
| GitHub stars | 136 | 0 |
| Directory activity | 2 views 0 installs 0 upvotes | 0 views 0 installs 0 upvotes |
| Tools | 30 | 29 |
| Full listing | View MediaWiki MCP Server | View PromptEden |
get-pageReturns a single wiki page (wikitext source, rendered HTML, or metadata only). If the title does not exist, an error is returned. Use metadata=true to retrieve the revision ID (for edit-conflict detection), page size, and section outline. Set content="none" to fetch only metadata. Large content is truncated at 75000 bytes by default, with a marker reporting how much of it was returned and which sections a narrower read can target; a follow-up call with section=N fetches a specific section. For more than one page at a time, use get-pages. For a specific historical revision, use get-revision.get-pagesReturns multiple wiki pages in one call (wikitext source or metadata only). Suited to reading a cluster of related pages, diffing a page family, or syncing pages to local storage. Accepts up to 50 titles; missing pages are reported inline (not as errors). One byte budget covers the whole response, 75000 bytes by default: pages come back whole in the order asked for until it is spent, and the pages past that point are named rather than returned, so a follow-up call for those names fetches the rest. Only a first page larger than the budget on its own is truncated, with a marker reporting how much of it was returned and which sections a narrower read can target. For a single page or HTML output, use get-page. requestedTitle is included only when it differs from the resolved title.get-page-historyReturns revision metadata (revision ID, timestamp, user, comment, size, minor flag) for a wiki page, in segments of 20 revisions, newest first. Paginate with olderThan or newerThan (mutually exclusive). If the title does not exist, an error is returned. Boolean flags appear only when true.get-recent-changesReturns recent change events, newest first, in segments of 50. Defaults to edits and page creations; set types to include log actions, categorizations, or external changes. Each row includes title, timestamp, user, revision IDs, size change, flags (minor/bot/new/anon), tags, and change type. Filter by timestamp window, namespaces, user, change tag, or hide flags (hideBots/hideMinor/hideAnon/hideRedirects/hidePatrolled). Pass showPatrolStatus to include per-row patrol state (requires patrol rights). Paginate with the continue token from the truncation marker. For a single page's revision history, use get-page-history. Boolean flags appear only when true; rows report the size delta, not raw old/new lengths.search-pageSearches wiki page titles and page content (full-text) for the provided terms. Returns matching pages with a snippet, size, timestamp, and the namespace the match came from. Covers the namespaces the wiki counts as content unless namespaces names the namespace IDs to search; get-site-info lists a wiki's namespaces and flags which of them hold content. Accepts up to 100 matches per call (default 10); additional matches beyond the cap are flagged in the response — narrow the query to surface more. For title-prefix lookup (e.g. autocomplete), use search-page-by-prefix.search-page-by-prefixReturns wiki page titles beginning with a given prefix (suited to autocomplete and title lookup). Only titles are returned — no snippets, sizes, or IDs. Accepts up to 500 titles per call (default 10); additional matches beyond the cap are flagged in the response. For full-text content search, use search-page.parse-wikitextRenders wikitext through the live wiki without saving. Returns HTML, parse warnings, categories, wikilinks, templates, external URLs, and display title. Suited to dry-running a planned edit before create-page or update-page, or previewing standalone wikitext (template combinations, sanitizer checks) with no target page. HTML output is truncated at 75000 bytes by default, with a marker reporting how much of it was returned; a smaller wikitext fragment in a follow-up call returns the rest.compare-pagesReturns the changes between two versions of a wiki page as a compact text diff. Each side accepts a revision ID, page title (latest revision), or supplied wikitext; text-vs-text is rejected. Only the changes are returned over the wire. For the full text of both sides, fetch with get-page instead. If a title or revision ID does not exist, an error is returned. Set includeDiff=false for a cheap change-detection response that skips diff rendering and returns just the change flag, revision metadata, and size delta. Diff output is truncated at 75000 bytes by default, with a marker reporting how much of it was returned; a narrower revision range or includeDiff=false avoids truncation.get-fileReturns metadata for a file (uploader, timestamp, size, MIME type) along with download URLs for the thumbnail, preview, and original. The File: prefix is added automatically if omitted.get-file-dataFetches a wiki file server-side and returns the image inline as a content block, for clients that cannot reach the wiki host (sandboxed or network-restricted) and need the image sent to the model for visual analysis. Returns a scaled rendition sized by width. Files MediaWiki can rasterize (images, SVG, PDF, DjVu) come back as an image; other types (audio, video, arbitrary binaries) error — for those, and for metadata or a download URL, use get-file.get-revisionReturns a specific historical revision of a wiki page by revision ID (wikitext source, rendered HTML, or metadata only). If the revision ID does not exist, an error is returned. Content is truncated at 75000 bytes by default; a past revision has no narrower read, so for a large one use compare-pages to see what changed. For the latest revision plus metadata, use get-page with metadata=true.get-site-infoReturns key facts about the targeted wiki from its MediaWiki siteinfo: general settings (sitename, MediaWiki version, content language, page-title case-sensitivity, live read-only state, and maxarticlesize in bytes), the namespace map with localized names and aliases, the list of installed extension names, and the content license. Set includeStatistics to also return page, article, edit, image, user, active-user, and admin counts.get_accountGet PromptEden team, plan, and usage details via GET /api/v1/account. Does not use credits.list_monitorsList PromptEden monitors for the authenticated team via GET /api/v1/monitors. Does not use credits.get_resultsGet monitor results by monitor UUID via GET /api/v1/monitors/:monitorId/results. Does not use credits.list_providersList the answer engines available for monitors, with key, name, category, and costTier. Coding-agent providers are omitted. Use a returned key when creating a monitor target. Does not use credits.list_projectsList projects via GET /api/v1/projects. Does not use credits.get_projectGet a single project by id, UUID, or slug via GET /api/v1/projects/:projectId. Does not use credits.agent_statusGet the authenticated agent/key status via GET /api/v1/agent/status. Requires account:read scope. Does not use credits.analytics_get_propertyGet the analytics property for a project via GET /api/v1/analytics/property: hostname, property state, collector state (six-state enum: not_set_up, awaiting_first_collection, healthy_zero, healthy_data, stale, failed) and the latest verification run. Never returns the site key. 409 property_scope_a…analytics_get_verificationPoll the latest snippet verification run for a project's analytics property via GET /api/v1/analytics/property/verification. Read-only: never starts or retries a run. Statuses: queued, running, succeeded, failed, expired; checks cover script load and collector endpoint. Does not use credits.analytics_get_trafficGet the AI-referral Traffic report via GET /api/v1/analytics/traffic: totals, per-engine series, landing pages, channel split, evidence provenance and sampling flags. HONESTY: `totals: null` means the collector has no basis to report (check collector.state) — it is NOT zero traffic; only healthy_ze…analytics_get_overviewGet the GA Overview via GET /api/v1/analytics/overview: visits · AI visits · goal completions chain, top engines and landing pages, goals summary, instrumentation card, six-state collector + freshness. HONESTY: `totals: null` means the collector has no basis to report (check collector.state) — NOT…analytics_list_goalsList destination-URL goals via GET /api/v1/analytics/goals: per-goal completions and per-source split, with the attribution disclosure (within-visit model, one completion per goal per visit, prospective counting from goal creation). Goal names are customer-authored data; use the stable numeric id t…Paste either block (or both) into your client config, e.g. claude_desktop_config.json or ~/.cursor/mcp.json. We only show a config when the install command is confirmed.
{
"mcpServers": {
"mediawiki-mcp-server": {
"command": "npx",
"args": [
"-y",
"@professional-wiki/mediawiki-mcp-server@latest"
],
"env": {
"CONFIG": "YOUR_CONFIG_HERE",
"MCP_TRANSPORT": "YOUR_MCP_TRANSPORT_HERE",
"MCP_LOG_LEVEL": "YOUR_MCP_LOG_LEVEL_HERE",
"MCP_CONTENT_MAX_BYTES": "YOUR_MCP_CONTENT_MAX_BYTES_HERE"
}
}
}
}
{
"mcpServers": {
"prompteden": {
"command": "npx",
"args": [
"-y",
"@prompteden/mcp-server"
],
"env": {
"PROMPTEDEN_API_KEY": "YOUR_PROMPTEDEN_API_KEY_HERE",
"PROMPTEDEN_BASE_URL": "YOUR_PROMPTEDEN_BASE_URL_HERE"
}
}
}
}