open-index/open-npm huggingface dataset:
npm package: @storycorps/scknowledge-mcp
Description: MCP server for StoryCorps Knowledge Base (BetterDocs WordPress)
Latest version: 1.2.1

# @storycorps/scknowledge-mcp

MCP server for the StoryCorps Knowledge Base. Connects Claude to our internal documentation so you can search, read, create, and edit KB articles through natural conversation.

## Install

You'll need a WordPress Application Password. Log into [your WP profile](https://scknowledge.wpenginepowered.com/wp-admin/profile.php), scroll to **Application Passwords**, create one, and copy it.

### Claude Code

```bash
claude mcp add scknowledge \
  -e SCKNOWLEDGE_USER=your_wordpress_username \
  -e SCKNOWLEDGE_APP_PASSWORD="xxxx xxxx xxxx xxxx xxxx xxxx" \
  -- npx @storycorps/scknowledge-mcp
```

Restart Claude Code and run `/mcp` to verify.

### Claude Desktop

Add this to your config file:

- **Mac:** `~/Library/Application Support/Claude/claude_desktop_config.json`
- **Windows:** `%APPDATA%\Claude\claude_desktop_config.json`

```json
{
  "mcpServers": {
    "scknowledge": {
      "command": "npx",
      "args": ["@storycorps/scknowledge-mcp"],
      "env": {
        "SCKNOWLEDGE_USER": "your_wordpress_username",
        "SCKNOWLEDGE_APP_PASSWORD": "xxxx xxxx xxxx xxxx xxxx xxxx"
      }
    }
  }
}
```

Restart Claude Desktop.

## Tools

| Tool | Description |
|------|-------------|
| `search_docs` | Search the KB by keyword |
| `get_doc` | Fetch a specific article by ID or slug |
| `list_categories` | See all KB categories |
| `list_docs_in_category` | Browse docs within a category |
| `create_doc` | Draft a new article (always starts as draft) |
| `update_doc` | Edit an existing article |
| `publish_doc` | Push a draft live (separate step for review) |
| `delete_doc` | Move an article to trash (recoverable) |

## How it works

The server talks to the WordPress REST API using Application Password auth. It uses the `?rest_route=` URL format instead of `/wp-json/` because WP Engine's cache layer intercepts the pretty URLs.

New articles are always created as drafts. Publishing is a separate, explicit step — nothing goes live without review.

## Development

```bash
npm install
npm test        # 23 unit tests
npm run lint    # eslint
```