> ## Documentation Index
> Fetch the complete documentation index at: https://docs.beta.b3os.org/llms.txt
> Use this file to discover all available pages before exploring further.

# 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](/actions/call)). 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`](/actions/catalog/wikipedia#wikipedia-search) | read | `wikipedia__search` | Search articles |
| [`get-summary`](/actions/catalog/wikipedia#wikipedia-get-summary) | read | `wikipedia__get-summary` | Get article summary |
| [`get-article-text`](/actions/catalog/wikipedia#wikipedia-get-article-text) | read | `wikipedia__get-article-text` | Get article text |
| [`get-on-this-day`](/actions/catalog/wikipedia#wikipedia-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 &lt;span class="searchmatch"&gt;), 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`

**curl**

```bash
    curl -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}
        }'
    ```
  **TypeScript**

```ts
    import { 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);
    ```
  **Python**

```python
    from b3os import B3OS

    b3os = B3OS()
    result = b3os.actions.call({
        "ref": "io.b3os/wikipedia/search@1",
        "input": {"query": "microVM hypervisor", "limit": 3},
    })
    print(result["output"])
    ```
  **MCP**

```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`](/errors#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`

**curl**

```bash
    curl -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"}
        }'
    ```
  **TypeScript**

```ts
    import { 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);
    ```
  **Python**

```python
    from b3os import B3OS

    b3os = B3OS()
    result = b3os.actions.call({
        "ref": "io.b3os/wikipedia/get-summary@1",
        "input": {"title": "Eugene, Oregon"},
    })
    print(result["output"])
    ```
  **MCP**

```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`](/errors#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`

**curl**

```bash
    curl -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}
        }'
    ```
  **TypeScript**

```ts
    import { 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);
    ```
  **Python**

```python
    from b3os import B3OS

    b3os = B3OS()
    result = b3os.actions.call({
        "ref": "io.b3os/wikipedia/get-article-text@1",
        "input": {"title": "Firecracker (software)", "intro_only": True},
    })
    print(result["output"])
    ```
  **MCP**

```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`](/errors#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`

**curl**

```bash
    curl -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"}
        }'
    ```
  **TypeScript**

```ts
    import { 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);
    ```
  **Python**

```python
    from b3os import B3OS

    b3os = B3OS()
    result = b3os.actions.call({
        "ref": "io.b3os/wikipedia/get-on-this-day@1",
        "input": {"month": 10, "day": 26, "type": "selected"},
    })
    print(result["output"])
    ```
  **MCP**

```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`](/errors#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. |