网络中心内容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 | 全文+元数据搜索(自动将纯文本包裹在 ``). |
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// 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/.
关键规则
这三条规则由代码+架构卫士执行。它们是不可谈判的。
- 永远不要在stdio模式下写入stdout。 stdio是MCP传输信道。诊断仅转到stderr。ADR 0001。
- 没有服务器端LLM依赖关系。 服务器从不捆绑
@anthropic-ai/sdk,openai等等。多步推理通过以下方式在MCP客户端上实现sampling/createMessage.ADR 0003+tests/architecture/no-server-llm.test.ts. - 单一调度路径。 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(受保护的资源元数据)。
