We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/CircleCI-Public/mcp-server-circleci'
If you have feedback or need assistance with the MCP directory API, please join our Discord server
version: 2.1
orbs:
node: circleci/node@7.1.0
docker: circleci/docker@2.8.2
commands:
setup:
steps:
- checkout
- run:
name: Extract package info
command: |
PACKAGE_NAME="$(jq --raw-output .name package.json)"
PACKAGE_VERSION="$(jq --raw-output .version package.json)"
FULL_IDENTIFIER="$PACKAGE_NAME@$PACKAGE_VERSION"
echo "export PACKAGE_NAME=$PACKAGE_NAME" >> $BASH_ENV
echo "export PACKAGE_VERSION=$PACKAGE_VERSION" >> $BASH_ENV
echo "export FULL_IDENTIFIER=$FULL_IDENTIFIER" >> $BASH_ENV
echo "Package: $PACKAGE_NAME"
echo "Version: $PACKAGE_VERSION"
echo "Full identifier: $FULL_IDENTIFIER"
login:
steps:
- run: echo "//registry.npmjs.org/:_authToken=$NPM_ACCESS_TOKEN" >> ~/.npmrc
install-deps:
steps:
- node/install-packages:
pkg-manager: pnpm
cache-path: node_modules
override-ci-command: pnpm install
executors:
node-executor:
docker:
- image: cimg/node:22.14
docker-executor:
machine:
image: ubuntu-2404:current
docker_layer_caching: true
jobs:
build:
executor: node-executor
steps:
- setup
- install-deps
- run:
name: Build
command: pnpm build
- persist_to_workspace:
root: .
paths:
- .
test:
executor: node-executor
steps:
- attach_workspace:
at: .
- install-deps
- run:
name: Run Tests
command: pnpm test:run
lint:
executor: node-executor
steps:
- attach_workspace:
at: .
- install-deps
- run:
name: Run Linting
command: pnpm lint
- run:
name: Type Check
command: pnpm typecheck
publish-release:
executor: node-executor
steps:
- setup
- install-deps
- attach_workspace:
at: .
- login
- run:
name: Publish npm Package
command: |
echo "Checking for published version: $FULL_IDENTIFIER..."
if ! pnpm view $FULL_IDENTIFIER --json > /dev/null 2>&1; then
echo "Publishing $FULL_IDENTIFIER…"
pnpm publish --no-git-checks
else
echo "$FULL_IDENTIFIER already published. Doing nothing."
fi
publish-docker-image:
executor: docker-executor
steps:
- setup
- attach_workspace:
at: .
- run:
name: Set up Docker Buildx
command: |
docker buildx create --name multiarch --use
docker buildx inspect --bootstrap
- docker/check
- run:
name: Build and push multi-architecture Docker image
command: |
docker buildx build --platform linux/amd64,linux/arm64 \
-t ${DOCKER_NAMESPACE}/mcp-server-circleci:latest \
-t ${DOCKER_NAMESPACE}/mcp-server-circleci:${PACKAGE_VERSION} \
-t ${DOCKER_NAMESPACE}/mcp-server-circleci:${CIRCLE_SHA1} \
--push .
workflows:
build-and-test:
jobs:
- build
- test:
requires:
- build
- lint:
requires:
- build
- publish-release:
context: npm-registry-public
filters:
branches:
only: main
requires:
- build
- lint
- test
- publish-docker-image:
context: mcp-server-docker-publish
filters:
branches:
only: main
requires:
- build
- lint
- test