npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@futuretea/yunxiao-mcp-server

v0.2.0

Published

Model Context Protocol (MCP) server for Alibaba Yunxiao DevOps platform

Readme

Yunxiao MCP Server

Go implementation of an MCP server for Alibaba Yunxiao (云效). Exposes a default read-only MCP catalog via stdio, HTTP Streamable, and SSE transports, with four Projex write tools available only when read_only=false.


Quick Start

npx (Recommended)

No installation required — npx downloads the correct platform binary automatically:

npx -y @futuretea/yunxiao-mcp-server

With environment variables:

YUNXIAO_MCP_ACCESS_TOKEN=<your-token> npx -y @futuretea/yunxiao-mcp-server

Docker

Pre-built images are published to ghcr.io/futuretea/yunxiao-mcp-server:

Stdio mode:

docker run -i --rm -e YUNXIAO_MCP_ACCESS_TOKEN=<your-token> ghcr.io/futuretea/yunxiao-mcp-server:latest

HTTP mode:

docker run --rm -p 3000:3000 -e YUNXIAO_MCP_ACCESS_TOKEN=<your-token> ghcr.io/futuretea/yunxiao-mcp-server:latest --port 3000

Build from source

make build
YUNXIAO_MCP_ACCESS_TOKEN=<your-token> ./bin/yunxiao-mcp-server

See MCP Client Config for Claude, Cursor, and other IDE setup examples.


Tools Overview

The default read_only=true catalog exposes 130 read-only tools. The full catalog has 134 tools: the same read-only tools plus four Projex write-capable tools (create_workitem, update_workitem, update_workitem_status, add_workitem_comment) when read_only=false.

| Domain | Tools | Access | Description | |--------|-------|--------|-------------| | Projex | 45 | 41 read-only, 4 write-capable | Projects, iterations, work items, milestones, test cases | | Codeup | 24 | read-only | Repositories, branches, commits, merge requests, code review | | Flow | 8 | read-only | Pipelines, runs, build tasks | | Appstack | 31 | read-only | Applications, environments, releases, change orders | | Platform | 18 | read-only | Organizations, departments, members, roles | | Packages | 2 | read-only | Artifact repositories and versions | | Lingma | 4 | read-only | Knowledge bases and usage | | API | 1 | read-only | call_yunxiao_api — fallback for supported read-only OpenAPI calls | | Meta | 1 | read-only | describe_toolset — discover all available tools |

Enhanced tools aggregate multiple API calls into single user-friendly operations. For example, get_project_overview returns project info, members, iterations, milestones, and tags in one call.


Configuration

Priority: explicit values > flags > environment > config file > defaults.

Environment Variables

| Variable | Purpose | Default | |----------|---------|---------| | YUNXIAO_MCP_ACCESS_TOKEN | Yunxiao access token | — | | YUNXIAO_MCP_BASE_URL | API base URL or host | https://openapi-rdc.aliyuncs.com | | YUNXIAO_MCP_SSE_BASE_URL | Public SSE base URL (reverse proxy) | — | | YUNXIAO_MCP_INSECURE_SKIP_TLS_VERIFY | Skip Yunxiao server TLS certificate verification for private/self-signed endpoints | false |

Legacy aliases YUNXIAO_ACCESS_TOKEN and YUNXIAO_API_BASE_URL are also supported.

Use YUNXIAO_MCP_INSECURE_SKIP_TLS_VERIFY=true or --insecure-skip-tls-verify only for trusted internal endpoints where certificate validation cannot be fixed.

Tool Modes

| Option | Default | Purpose | |--------|---------|---------| | read_only / --read-only | true | Excludes write-capable tools. Set read_only=false only when Projex work item mutations are intended. | | project_focused / --project-focused | false | Registers a focused platform + Projex catalog, hiding low-value raw tools with enhanced alternatives. | | minimal / --minimal | false | Registers the smallest project-centric catalog. Write tools still require read_only=false. | | enabled_tools / --enabled-tools | [] | Explicit tool allow-list by name. | | disabled_tools / --disabled-tools | [] | Explicit tool deny-list by name. | | enabled_domains / --enable-domains | [] | Explicit domain allow-list, overriding project_focused. | | disabled_domains / --disable-domains | [] | Explicit domain deny-list. |

Per-Request Tokens (HTTP/SSE)

Clients can override the default token per request:

curl -H "x-yunxiao-token: <token>" http://localhost:3000/mcp
# or
http://localhost:3000/sse?yunxiao_access_token=<token>

Config File

./bin/yunxiao-mcp-server --config config.example.yaml

See config.example.yaml for all options.


HTTP Endpoints

| Endpoint | Purpose | |----------|---------| | /mcp | Streamable HTTP MCP | | /sse | SSE MCP | | /message | SSE message endpoint | | /healthz | Health check (returns 503 if tools not registered) |


Development

make format   # gofmt
make tidy     # go mod tidy
make lint     # golangci-lint
make test     # go test ./...
make build    # build binary to bin/
make smoke    # local smoke test (default port 39393)

Coverage threshold: 98%. Run make coverage-check to verify.


Documentation


License

MIT