WebCenter内容MCP服务器

用于Oracle WebCenter Content的模型上下文协议服务器,为代理团队提供确定性、范围限制、可审计的工具框架。

  • by JohnRSim
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 JohnRSim/webcenter-content-mcp-server

使用说明

网络中心内容MCP服务器

Oracle WebCenter内容的模型上下文协议服务器。专为 代理团队:确定性、范围门控、可审计,并围绕MCP最佳实践所要求的整合工具表面进行塑造。

v2.0 是对一年前的v1代码的完全重写。看 docs/MIGRATING-FROM-V1.md 了解升级演练。

你得到了什么

  • 16个综合工具 +工作流工具框架(取代v1的59个端点形状的工具)。查看生成的 docs/api/ENDPOINTS.md.
  • 三个角色包提示 --管理员、审计员、迁移者——为常见工作流程预先设计代理。
  • OAuth 2.1无处不在:MCP-RS入站(RFC 9728+RFC 8707受众绑定),WCC OAuth出站(PKCE+轮换刷新),本地WCC的基本认证回退。
  • 可流式HTTP传输 根据MCP 2025-06-18规范,再加上台式机客户端的stdio。
  • 四个分销渠道:npm、克劳德桌面扩展(DXT)、Electron应用程序、签名的多拱形Docker镜像。
  • 审核日志 (stderr JSON行)在每次工具调用、令牌验证、同意决策和传输拒绝时。
  • 531测试 跨单元/集成/架构/安全/评估项目。架构保护禁止重复调度增长,并禁止捆绑任何LLM SDK。

快速开始

克劳德桌面通过npm

// ~/Library/Application Support/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "webcenter": {
      "command": "npx",
      "args": ["-y", "webcenter-content-mcp-server"],
      "env": {
        "WCC_BASE_URL": "https://wcc.example.com/documents/wcc/api/v1.1",
        "WCC_USER": "svc",
        "WCC_PASSWORD": "..."
      }
    }
  }
}

克劳德桌面通过DXT

从DXT注册表安装WebCenter内容扩展。安装后表单收集 WCC_BASE_URL、身份验证策略,以及基本凭据或OAuth颁发者+客户端ID。令牌通过Electron存储在您的操作系统密钥链中 safeStorage.

Electron 应用

从下载适用于您的操作系统的已签名安装程序 发布 页面(Win EV/mac公证/Linux GPG)。该应用程序在上生成MCP服务器 127.0.0.1:3999 并且包括用于多租户WCC环境的配置文件管理器。

托管SaaS

docker pull ghcr.io/fishbowlsolutions/wcc-mcp-server:2.0
# verify the cosign keyless attestation before running:
cosign verify \
  --certificate-identity-regexp '^https://github.com/fishbowlsolutions/.+$' \
  --certificate-oidc-issuer https://token.actions.githubusercontent.com \
  ghcr.io/fishbowlsolutions/wcc-mcp-server:2.0

实时参考部署清单 deploy/。参见 docs/operators/hosted-deployment.md 和 docs/operators/deploy-k8s.md.

刀具表面(摘要)

工具 目的
wcc_doc_search 全文+元数据搜索(自动将纯文本包裹在 <qsch>).
wcc_doc_get 按以下方式获取元数据 dDocName 或 dID;简洁或详细。
wcc_doc_download 按修订流式传输文档;敬意 PathPolicy.
wcc_doc_write 创建、替换或更新元数据(区分 action).
wcc_doc_lifecycle 删除、签出、反向签出、过期。
wcc_doc_storage 存储层更新+从归档恢复。
wcc_doc_capabilities 测试当前凭据允许的操作。
wcc_folder_browse 列出子项、列出文件、获取功能。
wcc_folder_write 创建/移动/删除文件夹。
wcc_public_links 公共链接CRUD。
wcc_application_links 应用程序链接CRUD。
wcc_workflow 工作流CRUD+批准/拒绝。
wcc_taxonomy 分类+类别管理。
wcc_attachment 附件列表/添加/获取/删除。
wcc_bulk_job 启动/状态/取消批量作业。
wcc_system 文档类型、配置信息、元信息、数据源查询。
wcc_workflow_bulk_reclassify 工作流工具 --使用部分失败+resumeToken在多个文档中应用元数据补丁。

看 docs/api/ENDPOINTS.md 对于每个输入/输出模式、范围、注释和示例。

建筑

src/
  bin/wcc-mcp.ts        CLI entry (bundled to dist/bin/wcc-mcp.js)
  transports/           stdio + Streamable HTTP — single dispatch path
  server/               build-server, dispatcher, context factory
  registry/             tool + resource + prompt registry
  tools/<domain>/       16 consolidated tool definitions
  prompts/              role-pack prompts (curator / auditor / migrator)
  wcc/                  WCC HTTP client + per-resource modules
  auth/
    basic/              Basic Auth strategy
    mcp-rs/             OAuth Resource Server (Phase 4a)
    wcc-oauth/          OAuth client against IDCS/Keycloak (Phase 4b)
  lib/
    workflow/           workflow framework (engine + resume token)
    sampling/           MCP sampling primitive + budget
    elicitation/        MCP elicitation primitive + validation
    errors/             20-code stable error taxonomy
    logger/             stderr-only logger + redaction
    audit/              structured audit log + sinks
    path-policy/        stdio / electron / hosted
    profiles/           multi-tenant profile manager
    ssrf-guard/         private-IP + DNS-rebinding defenses
    ratelimit/          token-bucket + Express middleware
    config/             Zod config schema
electron/               GUI host (rewritten in Phase 6)
deploy/hosted/          Dockerfile + compose + Caddyfile + nginx.conf

详细的架构说明: docs/ARCHITECTURE.md.决策记录: docs/adr/.

关键规则

这三条规则由代码+架构卫士执行。它们是不可谈判的。

  1. 永远不要在stdio模式下写入stdout。 stdio是MCP传输信道。诊断仅转到stderr。ADR 0001。
  2. 没有服务器端LLM依赖关系。 服务器从不捆绑 @anthropic-ai/sdk, openai等等。多步推理通过以下方式在MCP客户端上实现 sampling/createMessage.ADR 0003+ tests/architecture/no-server-llm.test.ts.
  3. 单一调度路径。 v1 stdio/HTTP复制陷阱在结构上是不可能的——两种传输都通过 src/server/dispatcher.ts:dispatchToolCallAST防护 tests/architecture/no-duplicate-dispatch.test.ts.

命令

pnpm install                  # use pnpm 9; npm is supported but lockfile is pnpm
pnpm typecheck                # tsc --noEmit
pnpm lint                     # eslint with typescript-eslint
pnpm test                     # full vitest suite (unit / integration / architecture / security / eval)
pnpm test -- --project unit   # one project at a time
pnpm test:electron            # Playwright renderer-IPC regression (needs xvfb on Linux CI)
pnpm bench                    # tinybench micro-bench (cold start, dispatcher, audit throughput)
pnpm build                    # tsup bundle → dist/
pnpm sbom                     # CycloneDX SBOM → dist/sbom.json
pnpm dxt:pack                 # DXT bundle → dist/wcc-mcp.dxt
pnpm docs:generate            # regenerate docs/api/ from the registry
pnpm docs:check               # CI gate: fail if docs/api/ is stale

配置

CLI使用的环境变量:

变量 必需 目的
WCC_BASE_URL 是 WCC REST API基本URL
WCC_USER / WCC_PASSWORD yes(基本) 基本身份验证凭据。
WCC_MCP_PROFILE no 配置文件ID(默认 default).
MCP_PORT 无 HTTP端口(默认 3999).
MCP_BIND_HOST no HTTP绑定(默认 127.0.0.1).
MCP_RS_ENABLED 没有 1 启用OAuth资源服务器门控 /mcp.
MCP_RS_ISSUER / MCP_RS_AUDIENCE / MCP_RS_JWKS_URI 当MCP-RS 参见 docs/operators/oauth-setup.md.
MCP_PATH_POLICY 没有 stdio (默认), electron,或 hosted.
WCC_MCP_LEGACY_TOOL_NAMES 没有 1 激活v1名称填充程序(在v2.1.0中删除)。
WCC_MCP_RESUME_SECRET 建议将 32字节的机密用于HMAC工作流恢复令牌。

许可证

双重许可:

  • GPL-3.0或更高版本 供公开使用。看 LICENSE.
  • 商业许可证 可从Fishbowl Solutions获得。看 LICENSING.md.

安全

看 SECURITY.md 用于协调披露手册和范围内威胁面。每个签名工件的验证命令也列在那里。

致谢

建立在 模型上下文协议 通过Anthropic。工具设计遵循公共MCP最佳实践指南;auth遵循OAuth 2.1+RFC 7636(PKCE)+RFC 8707(资源指示符)+RFC 9728(受保护的资源元数据)。