Skip to content

Commit d31f599

Browse files
author
flowcore-platform
committed
feat(project): 🎉 Initialize Flowcore Platform MCP Server project
0 parents  commit d31f599

25 files changed

+1122
-0
lines changed

.github/workflows/publish.yml

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
name: Build and Publish NPM Package
2+
3+
on:
4+
release:
5+
types: [ published ]
6+
7+
env:
8+
NODE_VERSION: ">=18.12.1"
9+
10+
permissions:
11+
id-token: write
12+
contents: read
13+
14+
jobs:
15+
16+
build:
17+
18+
runs-on: ubuntu-latest
19+
20+
steps:
21+
- uses: actions/checkout@v3
22+
with:
23+
token: ${{ secrets.FLOWCORE_MACHINE_GITHUB_TOKEN }}
24+
submodules: true
25+
- name: Extract version from package.json
26+
uses: sergeysova/jq-action@v2
27+
id: version
28+
with:
29+
cmd: 'jq .version package.json -r'
30+
31+
- name: Show my version
32+
run: 'echo "version ${{ steps.version.outputs.value }}"'
33+
34+
- name: Setup Bun environment
35+
uses: oven-sh/setup-bun@v2
36+
with:
37+
bun-version: latest
38+
- name: Bun install
39+
run: |
40+
bun install --frozen-lockfile
41+
- name: Build
42+
run: bun build
43+
- name: Publish
44+
run: bun publish --access public --non-interactive --new-version ${{ steps.version.outputs.value }}
45+
env:
46+
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}

.github/workflows/release-please.yml

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
on:
2+
push:
3+
branches:
4+
- main
5+
6+
name: release-please
7+
jobs:
8+
release-please:
9+
runs-on: ubuntu-latest
10+
steps:
11+
- uses: actions/checkout@v3
12+
with:
13+
token: ${{ secrets.FLOWCORE_MACHINE_GITHUB_TOKEN }}
14+
submodules: true
15+
- name: Extract version from package.json
16+
uses: sergeysova/jq-action@v2
17+
id: package
18+
with:
19+
cmd: 'jq .name package.json -r'
20+
- uses: google-github-actions/release-please-action@v3
21+
with:
22+
token: ${{ secrets.FLOWCORE_MACHINE_GITHUB_TOKEN }}
23+
release-type: node
24+
package-name: ${{ steps.package.outputs.value }}

.github/workflows/test.yml

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
name: Test
2+
3+
on:
4+
push:
5+
branches-ignore: ["main"]
6+
7+
jobs:
8+
test:
9+
runs-on: ubuntu-latest
10+
steps:
11+
- uses: actions/checkout@v3
12+
with:
13+
token: ${{ secrets.FLOWCORE_MACHINE_GITHUB_TOKEN }}
14+
submodules: true
15+
- name: Setup Bun environment
16+
uses: oven-sh/setup-bun@v2
17+
with:
18+
bun-version: latest
19+
- name: Bun install
20+
run: |
21+
bun install --frozen-lockfile
22+
- name: Lint
23+
run: bun lint
24+
- name: Build
25+
run: bun build

.gitignore

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
# dependencies (bun install)
2+
node_modules
3+
4+
# output
5+
out
6+
dist
7+
*.tgz
8+
9+
# code coverage
10+
coverage
11+
*.lcov
12+
13+
# logs
14+
logs
15+
_.log
16+
report.[0-9]_.[0-9]_.[0-9]_.[0-9]_.json
17+
18+
# dotenv environment variable files
19+
.env
20+
.env.development.local
21+
.env.test.local
22+
.env.production.local
23+
.env.local
24+
25+
# caches
26+
.eslintcache
27+
.cache
28+
*.tsbuildinfo
29+
30+
# IntelliJ based IDEs
31+
.idea
32+
33+
# Finder (MacOS) folder config
34+
.DS_Store

.npmignore

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
# Source files
2+
src/
3+
*.ts
4+
!*.d.ts
5+
6+
# Development files
7+
.git/
8+
.github/
9+
.vscode/
10+
node_modules/
11+
bun.lock
12+
.gitignore
13+
14+
# Test files
15+
test/
16+
*.test.ts
17+
*.spec.ts
18+
19+
# Misc
20+
.DS_Store
21+
*.log
22+
.env*

README.md

Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
# Flowcore Platform MCP Server
2+
3+
A Model Context Protocol (MCP) server for managing and interacting with the Flowcore Platform.
4+
5+
## Usage with npx
6+
7+
You can run this package directly using npx without installing it:
8+
9+
```bash
10+
npx @flowcore/platform-mcp-server --serviceAccountId <accountid> --serviceAccountKey <key>
11+
```
12+
13+
Replace `<accountid>` and `<key>` with your Flowcore service account credentials.
14+
15+
## Installation
16+
17+
If you prefer to install the package globally:
18+
19+
```bash
20+
npm install -g @flowcore/platform-mcp-server
21+
```
22+
23+
Then run it:
24+
25+
```bash
26+
platform-mcp-server --serviceAccountId <accountid> --serviceAccountKey <key>
27+
```
28+
29+
## Development
30+
31+
To install dependencies:
32+
33+
```bash
34+
bun install
35+
```
36+
37+
Run the project directly with Bun:
38+
39+
```bash
40+
bun run src/index.ts --serviceAccountId <accountid> --serviceAccountKey <key>
41+
```
42+
43+
## Building
44+
45+
Build the project:
46+
47+
```bash
48+
bun run build
49+
```
50+
51+
Run the built project:
52+
53+
```bash
54+
node dist/cli.js --serviceAccountId <accountid> --serviceAccountKey <key>
55+
```
56+
57+
## Environment Variables
58+
59+
| Variable | Type | Description | Default | Required |
60+
|----------|------|-------------|---------|----------|
61+
| SERVICE_ACCOUNT_ID | string | Flowcore service account ID | - ||
62+
| SERVICE_ACCOUNT_KEY | string | Flowcore service account key | - ||
63+
64+
## About
65+
66+
This project uses the Model Context Protocol (MCP) to provide a standardized interface for interacting with the Flowcore Platform. It allows AI assistants to query and manage Flowcore resources through a structured API.
67+
68+
Originally created using `bun init` in bun v1.2.3. [Bun](https://bun.sh) is a fast all-in-one JavaScript runtime.

0 commit comments

Comments
 (0)