feat: add openviking MCP to fleet
OpenViking is a Context Database for AI Agents from Volcengine. Uses upstream Docker image (ghcr.io/volcengine/openviking:latest) with native HTTP MCP endpoint on port 1933 at /mcp. - openviking/Dockerfile: FROM upstream image - openviking/README.md: env vars, usage, client config, tools - README.md: add 1933 port entry - .woodpecker.yml: add pull+tag build step for openviking
This commit is contained in:
parent
c623c8d566
commit
6cff3d92ca
4 changed files with 95 additions and 0 deletions
|
|
@ -124,3 +124,11 @@ steps:
|
||||||
- docker login forgejo.corentic.eu -u tobi -p $FORGEJO_REGISTRY_TOKEN
|
- docker login forgejo.corentic.eu -u tobi -p $FORGEJO_REGISTRY_TOKEN
|
||||||
- docker build -t forgejo.corentic.eu/corentic/mcp-fleet-web-search:latest -f web-search/Dockerfile web-search/
|
- docker build -t forgejo.corentic.eu/corentic/mcp-fleet-web-search:latest -f web-search/Dockerfile web-search/
|
||||||
- docker push forgejo.corentic.eu/corentic/mcp-fleet-web-search:latest
|
- docker push forgejo.corentic.eu/corentic/mcp-fleet-web-search:latest
|
||||||
|
|
||||||
|
build-openviking:
|
||||||
|
<<: *build-step
|
||||||
|
commands:
|
||||||
|
- docker login forgejo.corentic.eu -u tobi -p $FORGEJO_REGISTRY_TOKEN
|
||||||
|
- docker pull ghcr.io/volcengine/openviking:latest
|
||||||
|
- docker tag ghcr.io/volcengine/openviking:latest forgejo.corentic.eu/corentic/mcp-fleet-openviking:latest
|
||||||
|
- docker push forgejo.corentic.eu/corentic/mcp-fleet-openviking:latest
|
||||||
|
|
|
||||||
|
|
@ -22,6 +22,7 @@ Production-ready MCP server Docker images for the Corentic infrastructure. Each
|
||||||
| 8114 | filesystem | node | mcp-proxy |
|
| 8114 | filesystem | node | mcp-proxy |
|
||||||
| 8115 | docker | node | mcp-proxy |
|
| 8115 | docker | node | mcp-proxy |
|
||||||
| 8116 | web-search | python+node | mcp-proxy |
|
| 8116 | web-search | python+node | mcp-proxy |
|
||||||
|
| 1933 | openviking | upstream Docker | native HTTP |
|
||||||
|
|
||||||
## Registry
|
## Registry
|
||||||
|
|
||||||
|
|
|
||||||
2
openviking/Dockerfile
Normal file
2
openviking/Dockerfile
Normal file
|
|
@ -0,0 +1,2 @@
|
||||||
|
FROM ghcr.io/volcengine/openviking:latest
|
||||||
|
EXPOSE 1933
|
||||||
84
openviking/README.md
Normal file
84
openviking/README.md
Normal file
|
|
@ -0,0 +1,84 @@
|
||||||
|
# openviking-mcp
|
||||||
|
|
||||||
|
OpenViking: Context Database for AI Agents — semantic search, memory management, resource ingestion, and session management over MCP.
|
||||||
|
|
||||||
|
Source: [`volcengine/OpenViking`](https://github.com/volcengine/OpenViking)
|
||||||
|
|
||||||
|
OpenViking has a **built-in HTTP MCP endpoint** at `/mcp` on port 1933 — no mcp-proxy needed.
|
||||||
|
|
||||||
|
## Prerequisites
|
||||||
|
|
||||||
|
A valid `ov.conf` configuration file is required. Generate one:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
docker run --rm -it \
|
||||||
|
-v ~/.openviking:/app/.openviking \
|
||||||
|
forgejo.corentic.eu/corentic/mcp-fleet-openviking:latest \
|
||||||
|
openviking-server init
|
||||||
|
```
|
||||||
|
|
||||||
|
Validate setup:
|
||||||
|
```bash
|
||||||
|
docker run --rm -it \
|
||||||
|
-v ~/.openviking:/app/.openviking \
|
||||||
|
forgejo.corentic.eu/corentic/mcp-fleet-openviking:latest \
|
||||||
|
openviking-server doctor
|
||||||
|
```
|
||||||
|
|
||||||
|
## Environment Variables
|
||||||
|
|
||||||
|
| Variable | Required | Description |
|
||||||
|
|----------|----------|-------------|
|
||||||
|
| `OPENVIKING_CONFIG_FILE` | No | Path to ov.conf inside container (default: `/app/.openviking/ov.conf`) |
|
||||||
|
| `OPENVIKING_CONF_CONTENT` | No | Inline config content (alternative to volume mount) |
|
||||||
|
| `OPENVIKING_SERVER_HOST` | No | Server bind address (default: `0.0.0.0`) |
|
||||||
|
| `OPENVIKING_PUBLIC_BASE_URL` | No | Public URL for file upload signed URLs (needed behind reverse proxy) |
|
||||||
|
| `OPENVIKING_WITH_BOT` | No | Set to `0` to disable VikingBot |
|
||||||
|
|
||||||
|
## Usage
|
||||||
|
|
||||||
|
```bash
|
||||||
|
docker run -d \
|
||||||
|
--name openviking-mcp \
|
||||||
|
-p 1933:1933 \
|
||||||
|
-v ~/.openviking:/app/.openviking \
|
||||||
|
--restart unless-stopped \
|
||||||
|
forgejo.corentic.eu/corentic/mcp-fleet-openviking:latest
|
||||||
|
```
|
||||||
|
|
||||||
|
MCP endpoint: `http://host:1933/mcp`
|
||||||
|
|
||||||
|
## Client Configuration
|
||||||
|
|
||||||
|
Connect from any MCP client:
|
||||||
|
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"mcpServers": {
|
||||||
|
"openviking": {
|
||||||
|
"url": "http://host:1933/mcp"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
Add `"headers": {"Authorization": "Bearer your-api-key"}` if auth is configured.
|
||||||
|
|
||||||
|
## Tools
|
||||||
|
|
||||||
|
| Tool | Description |
|
||||||
|
|------|-------------|
|
||||||
|
| `search` | Semantic search across memories, resources, and skills |
|
||||||
|
| `read` | Read one or more `viking://` URIs |
|
||||||
|
| `list` | List entries under a `viking://` directory |
|
||||||
|
| `store` | Store messages into long-term memory |
|
||||||
|
| `add_resource` | Add a local file or URL as a resource |
|
||||||
|
| `grep` | Regex content search across `viking://` files |
|
||||||
|
| `glob` | Find files matching a glob pattern |
|
||||||
|
| `forget` | Delete a `viking://` URI |
|
||||||
|
| `code_outline` | Show a file's symbol structure |
|
||||||
|
| `code_search` | Search symbol names across a directory |
|
||||||
|
| `code_expand` | Return full source of a named symbol |
|
||||||
|
| `health` | Check service health |
|
||||||
|
| `list_watches` | List auto-refresh subscriptions |
|
||||||
|
| `cancel_watch` | Cancel a watch task |
|
||||||
Loading…
Add table
Reference in a new issue