Wikipedia
The io.b3os/wikipedia pack: 4 actions with call snippets, fixture outputs, connection setup and error codes, generated from version 1.0.0.
io.b3os/wikipedia 1.0.0 · knowledge, reference, search · MIT
Search Wikipedia in any language edition, read an article's summary or its full plain text, and get the events, births and deaths that happened on a calendar day. Uses the public MediaWiki Action API and the Wikimedia REST API. Keyless and read-only; content is CC BY-SA 4.0, so cite the article URL when you reuse text.
Every call's result carries upstream_status and timing: validate_ms, inject_ms, render_ms, upstream_ms, map_ms and total_ms. upstream is the service's time; the others are B3OS's own (call actions). The snippets below show no timing values, because a fixture records none.
Connection
No credential: a keyless public API. Calls name no connection.
Hosts it reaches: *.wikipedia.org.
Actions
| Action | Effect | MCP tool | Title |
|---|---|---|---|
search | read | wikipedia__search | Search articles |
get-summary | read | wikipedia__get-summary | Get article summary |
get-article-text | read | wikipedia__get-article-text | Get article text |
get-on-this-day | read | wikipedia__get-on-this-day | Get on this day |
search
Search articles. Full-text search of one Wikipedia edition. Returns matching articles with a short snippet (HTML, matches wrapped in <span class="searchmatch">), word count and last edit time, best match first; use offset with next_offset to page. Follow up with get-summary or get-article-text for the content.
Ref io.b3os/wikipedia/search@1.0.0 · effect read · no connection · MCP tool wikipedia__search
bashcurl -s https://beta-api.b3os.org/v1/actions/call \ -H "Authorization: Bearer $B3OS_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "ref": "io.b3os/wikipedia/search@1", "input": {"query": "microVM hypervisor", "limit": 3} }'
tsimport { B3OS } from "@b3os/sdk";const b3os = new B3OS();const result = await b3os.actions.call({ ref: "io.b3os/wikipedia/search@1", input: { query: "microVM hypervisor", limit: 3 },});console.log(result.output);
pythonfrom b3os import B3OSb3os = B3OS()result = b3os.actions.call({ "ref": "io.b3os/wikipedia/search@1", "input": {"query": "microVM hypervisor", "limit": 3},})print(result["output"])
json{ "method": "tools/call", "params": { "name": "wikipedia__search", "arguments": {"query": "microVM hypervisor", "limit": 3} }}
Expose the pack as tools with --packs wikipedia on the local server or ?packs=wikipedia on the remote URL, and the agent calls wikipedia__search with the action's input. The tool needs no connection. Without exposing the pack, actions_call takes the same input with ref.
Output, labeled fixture: Search articles (response recorded 2026-10-26). From the bundle's fixtures/search.json, not a live call.
json{ "results": [ { "title": "Comparison of platform virtualization software", "pageid": 1582833, "url": "https://en.wikipedia.org/?curid=1582833", "snippet": "Platform virtualization software, specifically emulators and <span class=\"searchmatch\">hypervisors</span>, are software packages that emulate the whole physical computer machine, often", "wordcount": 1315, "last_edited": "2026-09-19T22:04:39Z" }, { "title": "Harvester (HCI)", "pageid": 72682245, "url": "https://en.wikipedia.org/?curid=72682245", "snippet": "allowing PCI devices on the <span class=\"searchmatch\">hypervisor</span> host to be passed directly to a <span class=\"searchmatch\">VM</span>. Devices not in use directly by the <span class=\"searchmatch\">hypervisor</span> can be used. This is useful for", "wordcount": 492, "last_edited": "2026-10-17T22:10:02Z" }, { "title": "OpenNebula", "pageid": 30174309, "url": "https://en.wikipedia.org/?curid=30174309", "snippet": "virtualization and cloud deployments based on the KVM <span class=\"searchmatch\">hypervisor</span>, LXC system containers, and AWS Firecracker <span class=\"searchmatch\">micro</span>VMs. The platform is also capable of offering", "wordcount": 2552, "last_edited": "2026-09-10T07:01:56Z" } ], "total": 39, "next_offset": 3}
When the service answers with an error, the call fails with upstream_error and pack_error.code is one of:
pack_error.code | Service status | Retryable | Message |
|---|---|---|---|
invalid_request | 200 | no | built from the service's response |
not_found | 404 | no | No Wikipedia article with this title in this language. |
rate_limited | 429 | yes | Wikimedia rate limit reached; slow down. |
get-summary
Get article summary. The lead of one article: a one-line description, the first paragraph as plain text, a thumbnail and the canonical URL. Follows redirects (US to United States). type is disambiguation when the title is ambiguous; search for a more precise title then.
Ref io.b3os/wikipedia/get-summary@1.0.0 · effect read · no connection · MCP tool wikipedia__get-summary
bashcurl -s https://beta-api.b3os.org/v1/actions/call \ -H "Authorization: Bearer $B3OS_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "ref": "io.b3os/wikipedia/get-summary@1", "input": {"title": "Eugene, Oregon"} }'
tsimport { B3OS } from "@b3os/sdk";const b3os = new B3OS();const result = await b3os.actions.call({ ref: "io.b3os/wikipedia/get-summary@1", input: { title: "Eugene, Oregon" },});console.log(result.output);
pythonfrom b3os import B3OSb3os = B3OS()result = b3os.actions.call({ "ref": "io.b3os/wikipedia/get-summary@1", "input": {"title": "Eugene, Oregon"},})print(result["output"])
json{ "method": "tools/call", "params": { "name": "wikipedia__get-summary", "arguments": {"title": "Eugene, Oregon"} }}
Expose the pack as tools with --packs wikipedia on the local server or ?packs=wikipedia on the remote URL, and the agent calls wikipedia__get-summary with the action's input. The tool needs no connection. Without exposing the pack, actions_call takes the same input with ref.
Output, labeled fixture: Get article summary (response recorded 2026-10-26). From the bundle's fixtures/get-summary.json, not a live call.
json{ "title": "Eugene, Oregon", "description": "City in Oregon, United States", "extract": "Eugene is a city in and the county seat of Lane County, Oregon, United States. It is located at the southern end of the Willamette Valley, near the confluence of the McKenzie and Willamette rivers, about 50 miles (80 km) east of the Oregon Coast and approximately 110 miles south of Portland.", "type": "standard", "url": "https://en.wikipedia.org/wiki/Eugene%2C_Oregon", "thumbnail_url": "https://thumb.wikimedia.org/wikipedia/commons/thumb/1/14/102707-Oregon-Autzen-USC-UO-Sanchezpass.jpg/330px-102707-Oregon-Autzen-USC-UO-Sanchezpass.jpg?utm_source=en.wikipedia.org&utm_campaign=api&utm_content=thumbnail", "last_modified": "2026-10-14T18:13:28Z", "pageid": 9623}
When the service answers with an error, the call fails with upstream_error and pack_error.code is one of:
pack_error.code | Service status | Retryable | Message |
|---|---|---|---|
not_found | 404 | no | No Wikipedia article with this title in this language. |
rate_limited | 429 | yes | Wikimedia rate limit reached; slow down. |
get-article-text
Get article text. An article's text as plain text, with section headings kept as == Heading == lines. Long articles produce long text; set intro_only to get only the part before the first heading. Follows redirects. For a short overview use get-summary.
Ref io.b3os/wikipedia/get-article-text@1.0.0 · effect read · no connection · MCP tool wikipedia__get-article-text
bashcurl -s https://beta-api.b3os.org/v1/actions/call \ -H "Authorization: Bearer $B3OS_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "ref": "io.b3os/wikipedia/get-article-text@1", "input": {"title": "Firecracker (software)", "intro_only": true} }'
tsimport { B3OS } from "@b3os/sdk";const b3os = new B3OS();const result = await b3os.actions.call({ ref: "io.b3os/wikipedia/get-article-text@1", input: { title: "Firecracker (software)", intro_only: true },});console.log(result.output);
pythonfrom b3os import B3OSb3os = B3OS()result = b3os.actions.call({ "ref": "io.b3os/wikipedia/get-article-text@1", "input": {"title": "Firecracker (software)", "intro_only": True},})print(result["output"])
json{ "method": "tools/call", "params": { "name": "wikipedia__get-article-text", "arguments": {"title": "Firecracker (software)", "intro_only": true} }}
Expose the pack as tools with --packs wikipedia on the local server or ?packs=wikipedia on the remote URL, and the agent calls wikipedia__get-article-text with the action's input. The tool needs no connection. Without exposing the pack, actions_call takes the same input with ref.
Output, labeled fixture: Get article text (response recorded 2026-10-26). From the bundle's fixtures/get-article-text.json, not a live call.
json{ "title": "Firecracker (software)", "pageid": 67903918, "url": "https://en.wikipedia.org/?curid=67903918", "text": "Firecracker is virtualization software developed by Amazon Web Services for its AWS Lambda serverless computing platform. It makes use of KVM."}
When the service answers with an error, the call fails with upstream_error and pack_error.code is one of:
pack_error.code | Service status | Retryable | Message |
|---|---|---|---|
not_found | 200, 404 | no | No Wikipedia article with this title in this language. |
rate_limited | 429 | yes | Wikimedia rate limit reached; slow down. |
get-on-this-day
Get on this day. What happened on a calendar day in any year, from Wikipedia's On this day feed: selected anniversaries, all events, births, deaths or holidays. Each item has the year (null for holidays), a one-line description and the articles it links to.
Ref io.b3os/wikipedia/get-on-this-day@1.0.0 · effect read · no connection · MCP tool wikipedia__get-on-this-day
bashcurl -s https://beta-api.b3os.org/v1/actions/call \ -H "Authorization: Bearer $B3OS_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "ref": "io.b3os/wikipedia/get-on-this-day@1", "input": {"month": 10, "day": 26, "type": "selected"} }'
tsimport { B3OS } from "@b3os/sdk";const b3os = new B3OS();const result = await b3os.actions.call({ ref: "io.b3os/wikipedia/get-on-this-day@1", input: { month: 10, day: 26, type: "selected" },});console.log(result.output);
pythonfrom b3os import B3OSb3os = B3OS()result = b3os.actions.call({ "ref": "io.b3os/wikipedia/get-on-this-day@1", "input": {"month": 10, "day": 26, "type": "selected"},})print(result["output"])
json{ "method": "tools/call", "params": { "name": "wikipedia__get-on-this-day", "arguments": {"month": 10, "day": 26, "type": "selected"} }}
Expose the pack as tools with --packs wikipedia on the local server or ?packs=wikipedia on the remote URL, and the agent calls wikipedia__get-on-this-day with the action's input. The tool needs no connection. Without exposing the pack, actions_call takes the same input with ref.
Output, labeled fixture: Get on this day (response recorded 2026-10-26). From the bundle's fixtures/get-on-this-day.json, not a live call.
json{ "items": [ { "year": 2004, "text": "Rockstar Games released Grand Theft Auto: San Andreas, considered one of the best video games ever made, in North America.", "pages": [ { "title": "Rockstar Games", "url": "https://en.wikipedia.org/wiki/Rockstar_Games" }, { "title": "Grand Theft Auto: San Andreas", "url": "https://en.wikipedia.org/wiki/Grand_Theft_Auto%3A_San_Andreas" }, { "title": "List of video games listed among the best", "url": "https://en.wikipedia.org/wiki/List_of_video_games_listed_among_the_best" } ] }, { "year": 2001, "text": "President George W. Bush signed the Patriot Act into law, significantly expanding the authority of United States law enforcement agencies.", "pages": [ { "title": "George W. Bush", "url": "https://en.wikipedia.org/wiki/George_W._Bush" }, { "title": "Patriot Act", "url": "https://en.wikipedia.org/wiki/Patriot_Act" } ] } ]}
When the service answers with an error, the call fails with upstream_error and pack_error.code is one of:
pack_error.code | Service status | Retryable | Message |
|---|---|---|---|
not_found | 404 | no | No Wikipedia article with this title in this language. |
rate_limited | 429 | yes | Wikimedia rate limit reached; slow down. |