Mammoth Analytics

io.mammoth由 mammoth.io 發布官方發布者v0.2.12更新於 Nov 4, 2026

Explore, clean, transform and export your Mammoth Analytics data from an AI client.

發布方自己的服務:Mammoth Docs

已驗證Streamable HTTP可網頁執行檔案與儲存資料與分析

概覽

AI 產生的概覽

Mammoth Analytics 的 MCP 伺服器,讓 AI 用戶端以登入使用者身分探索、清理、轉換並匯出 Mammoth 資料。

可以做什麼
  • 透過讀取工具探索 Mammoth 資料,回傳裁切過的 API 結果
  • 清理與轉換資料,將轉換對應為管線任務並等待任務完成
  • 操作檢視、管線、檔案與儀表板等各類工具模組
  • 匯出資料,並回傳 Mammoth 網頁應用程式的連結給使用者
  • 透過短期上傳頁面接收本機檔案,以便在 Mammoth 中使用
適用情境
當資料存放在 Mammoth Analytics,且希望 Claude、ChatGPT 等 AI 用戶端在對話中直接檢視、清理、重塑或匯出資料時使用。適合已在 Mammoth 工作區與專案中作業的分析師與團隊。
執行需求
可使用 mcp.mammoth.io 託管端點,加入 MCP 用戶端即可,無需安裝;也可在本機安裝 mammoth-mcp-server Python 套件。兩者都需要 Mammoth 帳號並透過 OAuth 登入,選擇工作區與專案。本機部署另需 MCP_ENCRYPTION_KEY(Fernet 金鑰)與透過 MCP_REDIS_URL 指定的 Redis,並在 Mammoth 端完成 OAuth 設定。
安裝前請注意
登入採用 OAuth,每次工具呼叫都以你的 Mammoth 權限執行,因此助理不僅能讀取,也可能修改工作區資料。權杖僅屬於單一工作區,跨工作區呼叫會被拒絕。上傳連結會把密封的權杖保存在 Redis,直到完成上傳或 30 分鐘後過期。本機部署必須設定 MCP_ENCRYPTION_KEY,這是它唯一保存的密鑰,缺少就無法啟動。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Mammoth Analytics,將其新增到工作區。
  2. 連接 所需的 憑證。它們會被私密儲存,絕不會在公開頁面上展示。
  3. 為需要使用其工具的對話啟用該服務。

Web executable,透過 Streamable HTTP。 遠端服務在工作區中設定後即可從網頁執行環境執行。

交給代理程式安裝

把這段提示詞貼上到 Claude Code、Codex、Cursor 等代理程式,或 SourceWeft 對話中。代理程式會讀取該伺服器的安裝指南,先向你展示發布者、端點和登入方式,經你同意後再把它新增到你的客戶端。金鑰不會寫進任何命令。

閱讀 https://sourceweft.com/mcp/io.mammoth%2Fmcp/install.md,並按其中說明把這個 MCP 伺服器接入我的客戶端。修改任何設定之前,先告訴我它的發布者、端點和登入方式,等我確認。不要把 API 金鑰寫進命令或我會提交的檔案;問我金鑰應從哪裡取得。

檢視代理程式所依據的安裝指南

其他 MCP 客戶端

把它新增到你客戶端的 mcpServers 設定中。 客戶端會在首次連接時完成 OAuth 登入。

{
  "mcpServers": {
    "mammoth-analytics": {
      "type": "http",
      "url": "https://mcp.mammoth.io/mcp"
    }
  }
}

README

mammoth-mcp-server

The Mammoth MCP server. An AI client (Claude, ChatGPT) uses its tools to explore, clean, transform and export data in Mammoth, as the signed-in user.

The server depends on one Mammoth package: the SDK (mammoth-io). Every tool reaches Mammoth through the API, as the SDK does. The server imports no backend code.

Hosted or local

  • Hosted: Mammoth runs this server at https://mcp.mammoth.io/mcp. Add that URL to your MCP client and sign in with your Mammoth account (OAuth). Nothing to install.
  • Local: pip install mammoth-mcp-server, then set MCP_ENCRYPTION_KEY and start mammoth-mcp-server (see From a virtual environment below). MCP_ENCRYPTION_KEY must be a Fernet key: 32 url-safe base64-encoded bytes. Generate one with python -c "from cryptography.fernet import Fernet; print(Fernet.generate_key().decode())". The server refuses to start without it, or with a value that is not a Fernet key.

Layout

PathWhat it holds
mammoth_mcp_server/tools/The tools, one module per area (views, pipeline, files, dashboards, ...).
mammoth_mcp_server/sdk.pyThe SDK client a tool call is given, and the API's errors in words a model can use.
mammoth_mcp_server/jobs.pyThe wait for a job that an API route started.
mammoth_mcp_server/task_params.pyThe map from a transformation to the pipeline task the API takes.
mammoth_mcp_server/tokens.pyThe check of a caller's token: Mammoth says whether it is live and which server it is for.
mammoth_mcp_server/store.pyShort-lived records in Redis: upload tickets.
mammoth_mcp_server/upload_routes.pyThe page a user drops a local file on.
mammoth_mcp_server/server_card.pyThe public server card at /.well-known/mcp/server-card.json.
mammoth_mcp_server/shape.pyWhat a read tool hands the model, cut from the API's answer.
mammoth_mcp_server/app.pyThe ASGI app and main().
mammoth_mcp_server/config.pyEvery deployment setting, read from the environment.

Settings

VariableDefaultMeaning
MCP_SERVER_URLhttps://mcp.mammoth.ioThis server, as a client reaches it.
MAMMOTH_APP_URLhttps://app.mammoth.ioThe web app, for the links a tool gives the user.
MAMMOTH_DASHBOARD_URLMAMMOTH_APP_URLThe host that serves a published dashboard.
MAMMOTH_API_URLMAMMOTH_APP_URL + /api/v2The API every tool call goes to.
MAMMOTH_API_ROOT/api/v2The path the API is served under. Set it empty for an API reached directly.
MAMMOTH_OAUTH_URLMAMMOTH_APP_URL + /api/v2Mammoth's authorization server (its issuer), where a client signs the user in.
MCP_REDIS_URLredis://localhost:6379/0Where upload tickets are kept.
MCP_ENCRYPTION_KEYnoneA Fernet key. The caller's token in an upload ticket is sealed with it. Required.
MCP_STORE_PREFIXmammoth_mcpKeeps this deployment's records apart in a shared Redis.
MCP_HOST, MCP_PORT127.0.0.1, 8270Where the server listens.

Sign-in

This server signs nobody in. Mammoth's own authorization server does: the OAuth server the Mammoth API serves. This server is an OAuth resource server only.

  1. A client calls /mcp with no token. The server answers 401 and points to /.well-known/oauth-protected-resource/mcp.
  2. That document names Mammoth's authorization server (MAMMOTH_OAUTH_URL). The client reads the server's metadata there and sends the user to it.
  3. The user signs in to Mammoth, picks a workspace and a project, and approves. The client asks for a token for this server's URI, <MCP_SERVER_URL>/mcp (the resource parameter, RFC 8707).
  4. The client calls /mcp with that token. On every request the server asks Mammoth what the token is for (GET /workspaces/current). The server takes the token only when Mammoth says it is live and was issued for this server's URI.
  5. Each tool call goes to the Mammoth API with the same token, so the user's permissions apply.

A token belongs to one workspace. A tool call for another workspace is refused. A Mammoth API token made by hand in Workspace settings was issued for no server, so this server refuses it.

The server keeps no sign-in and no token, with one exception: an upload link holds the caller's token, sealed, in Redis until the user uploads or 30 minutes pass.

What Mammoth needs

  • The MCP server's URI, <MCP_SERVER_URL>/mcp, in mvc-service const.ini, section [oauth], key MCP_RESOURCES. Mammoth issues a token for no other resource.
  • GET /workspaces/current must return the token's resource beside the workspace id. Without it this server refuses every token.

Before it works in an environment below lists every step, in the order to check them.

Run

As a container, which needs nothing on the host but Docker

The image is built from this repository, so a deployment never waits for a release of the SDK. Build it from the repository root, which is the build context:

bash
cp mammoth-mcp-server/deploy/.dockerignore.example .dockerignoredocker build -f mammoth-mcp-server/deploy/Dockerfile -t mammoth-mcp-server .docker run --env-file mammoth-mcp-server/deploy/.env -p 8270:8270 mammoth-mcp-server

With a Redis of its own, as one stack:

bash
cp mammoth-mcp-server/.env.example mammoth-mcp-server/deploy/.env   # then set the valuesdocker compose -f mammoth-mcp-server/deploy/compose.yaml up -d --build

The server keeps nothing in memory between requests, so it scales by adding containers. They share only Redis.

From a virtual environment

bash
pip install mammoth-mcp-servercp .env.example .env        # then set the valuesmammoth-mcp-server          # or: uvicorn mammoth_mcp_server.app:create_app --factory

What deploy/ holds

FileWhat it is for
DockerfileThe image, built from this repository
compose.yamlThe server and a Redis, as one stack
.dockerignore.exampleCopy to the repository root before building
mammoth-mcp-server-container.service.examplesystemd, running the container
mammoth-mcp-server.service.examplesystemd, running a virtual environment
nginx.example.confBoth server blocks a deployment needs

Before it works in an environment

Each of these stops the sign-in on its own, so check them in order.

  1. DNS and the front door point MCP_SERVER_URL at the server's port. deploy/nginx.example.conf holds the server block.

  2. MCP_ENCRYPTION_KEY is set. It is the only secret this server keeps. Nothing else is required that has no default; see Settings.

  3. Mammoth knows this server: MCP_RESOURCES = <MCP_SERVER_URL>/mcp, in mvc-service const.ini, section [oauth]. Mammoth issues a token for no other resource.

  4. The Mammoth host serves its OAuth metadata where a client looks for it. For an issuer with a path, RFC 8414 puts the document at /.well-known/oauth-authorization-server/api/v2, and apiv2 serves it at its own path, so the front door has to join the two. The second server block in deploy/nginx.example.conf does it. Check it with:

    bash
    curl https://<mammoth host>/.well-known/oauth-authorization-server/api/v2

    It must answer the document, not 404.

  5. The web app's OAuth consent page is deployed. Without it the user lands on a page that does not exist, and approves nothing.

Then a client connects to <MCP_SERVER_URL>/mcp, and the user signs in to Mammoth and picks a workspace and a project.

Tests

bash
cd mammoth-mcp-serverpython -m pytest tests -q

The tests reach no server. The SDK client and the tools are real; only the HTTP transport under the client is replaced.

來源:mammoth-mcp-server/README.md,提交 4e7b528

工具

0
該伺服器需要登入,因此 SourceWeft 無法在沒有帳號的情況下讀取其工具,也未收錄。已連接帳號所能看到的內容可能因帳號及其權限而異。

版本歷史

6
  1. v0.2.12最新Nov 4, 2026
  2. v0.2.11Nov 4, 2026
  3. v0.2.9Nov 3, 2026
  4. v0.2.7Oct 21, 2026
  5. v0.2.1Oct 13, 2026
  6. v0.1.1Oct 12, 2026

評分

已滿足適用檢查項的 75%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通必需25 分
  • 已宣告認證方式必需10 分
  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分

    請在儲存庫或註冊中心條目中宣告授權條款。

其他 Mammoth 整合