Skip to content

Commit 9bd4fd6

Browse files
committed
init everything
1 parent 51f9011 commit 9bd4fd6

58 files changed

Lines changed: 7268 additions & 140 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.changeset/README.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
# Changesets
2+
3+
Hello and welcome! This folder has been automatically generated by `@changesets/cli`, a build tool that works
4+
with multi-package repos, or single-package repos to help you version and publish your code. You can
5+
find the full documentation for it [in our repository](https://github.com/changesets/changesets)
6+
7+
We have a quick list of common questions to get you started engaging with this project in
8+
[our documentation](https://github.com/changesets/changesets/blob/main/docs/common-questions.md)

.changeset/bright-donuts-call.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"server": major
3+
---
4+
5+
Initial release

.changeset/config.json

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
{
2+
"$schema": "https://unpkg.com/@changesets/config@3.1.1/schema.json",
3+
"changelog": "@changesets/cli/changelog",
4+
"commit": false,
5+
"fixed": [],
6+
"linked": [],
7+
"baseBranch": "main",
8+
"updateInternalDependencies": "patch",
9+
"ignore": ["docs"],
10+
"privatePackages": {
11+
"version": true,
12+
"tag": true
13+
}
14+
}

.devcontainer/Dockerfile

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
FROM node:22
2+
3+
LABEL org.opencontainers.image.source="https://github.com/VSC-NeuroPilot/neuro-mcp-relay-registry"
4+
LABEL org.opencontainers.image.description="Permissions-based MCP relay/registry server."
5+
LABEL org.opencontainers.image.licenses="MIT"
6+
7+
WORKDIR /workspace
8+
9+
RUN npm install -g pnpm
10+
RUN pnpm install
11+
RUN pnpm -r build
12+
13+
EXPOSE 3000

.devcontainer/devcontainer.json

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
{
2+
"name": "mcp-relay-container",
3+
"build": {
4+
"dockerfile": "Dockerfile",
5+
"context": ".."
6+
},
7+
"postStartCommand": "pnpm dev",
8+
"remoteUser": "neuromcp",
9+
"containerUser": "vsc-neuropilot",
10+
"forwardPorts": [
11+
3000,
12+
4321
13+
],
14+
"portsAttributes": {
15+
"3000": {
16+
"label": "MCP Server",
17+
"onAutoForward": "notify"
18+
},
19+
"4321": {
20+
"label": "Server docs",
21+
"onAutoForward": "silent"
22+
}
23+
},
24+
"customizations": {
25+
"codespaces": {
26+
"openFiles": ["README.md"]
27+
}
28+
}
29+
}

.dockerignore

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
.changeset
2+
.devcontainer
3+
.github
4+
.dockerignore
5+
**/node_modules
6+
TODO.md

.github/CODEOWNERS

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
.devcontainer/** @KTrain5169
2+
server/** @KTrain5169 @ECHO-HELLO-WORLD-424
3+
docs/** @KTrain5169 @ECHO-HELLO-WORLD-424

.github/README.md

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
# mcp-relay-registry
2+
3+
This is the source code of a permission-based, easy-to-control MCP relay/registry server, both combined into one.
4+
This server was created for use with (the official distributions of) both [NeuroPilot](https://github.com/VSC-NeuroPilot/neuropilot) and [NeuroMCP](https://github.com/ECHO-HELLO-WORLD424/NeuroMCP), two integrations for Neuro-sama (the AI streamer) that uses MCP.
5+
6+
## Setup
7+
8+
This README assumes you are setting up after cloning/downloading the repo directly.
9+
10+
<!--If you cannot be bothered to do all that, you can also [grab the latest release files from our Releases page](https://github.com/VSC-NeuroPilot/neuro-mcp-relay-registry) or [pull the Docker image from GHCR](https://vsc-neuropilot.github.io/neuro-mcp-relay-registry/setup/docker).-->
11+
12+
### Prerequisites
13+
14+
- Node.js v22 or higher
15+
- An MCP client for usage
16+
- A list of MCP servers to add!
17+
18+
### Start
19+
20+
1. After obtaining the repo, install dependencies using `pnpm`:
21+
22+
```sh
23+
pnpm install
24+
```
25+
26+
2. Build the server:
27+
28+
```sh
29+
pnpm build
30+
```
31+
32+
3. Start the server:
33+
34+
```sh
35+
node ./output/server/index.mjs
36+
```
37+
38+
This will start the server on port 3000.
39+
40+
## Interact
41+
42+
This server exposes 3 endpoints:
43+
44+
- `/` - Main landing page + dashboard (control panel here!)
45+
- `/mcp` - MCP endpoint (connect your MCP client here!)
46+
- `/registry` - Registry endpoint
47+
48+
Similar to the old permissions system in NeuroPilot, you can choose to allow or disallow a specific tool/server that you've connected.

.github/workflows/autoclose.yml

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
name: Auto-close linked issues on closed PRs
2+
3+
on:
4+
pull_request_target:
5+
types: [closed]
6+
7+
jobs:
8+
autoclose:
9+
permissions:
10+
pull-requests: read
11+
issues: write
12+
runs-on: ubuntu-latest
13+
steps:
14+
- name: Close linked issues
15+
if: github.event.pull_request.merged == true
16+
run: |
17+
for issue in `gh pr view "$NUMBER" --json closingIssuesReferences --jq '.closingIssuesReferences[].number'`; do
18+
gh issue close $issue --reason completed --comment "Auto-closed by merging PR #$NUMBER: $TITLE";
19+
done
20+
env:
21+
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
22+
GH_REPO: ${{ github.repository }}
23+
NUMBER: ${{ github.event.pull_request.number}}
24+
TITLE: ${{ github.event.pull_request.title }}

.github/workflows/ci.yml

Lines changed: 105 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,105 @@
1+
name: CI
2+
3+
on:
4+
push:
5+
pull_request:
6+
workflow_dispatch:
7+
8+
jobs:
9+
format:
10+
name: Formatting check
11+
runs-on: ubuntu-latest
12+
steps:
13+
- name: Checkout action
14+
uses: actions/checkout@v5
15+
16+
- name: Setup pnpm
17+
uses: pnpm/action-setup@v4
18+
with:
19+
version: 10.18.1
20+
21+
- name: Setup Node.js
22+
uses: actions/setup-node@v6
23+
with:
24+
node-version: 22.14.0
25+
cache: pnpm
26+
cache-dependency-path: ./pnpm-lock.yaml
27+
28+
- name: Install dependencies
29+
run: pnpm install --frozen-lockfile
30+
31+
- name: Format check
32+
run: pnpm exec prettier --check .
33+
34+
build-server:
35+
name: Build server
36+
runs-on: ubuntu-latest
37+
steps:
38+
- name: Checkout action
39+
uses: actions/checkout@v5
40+
41+
- name: Setup pnpm
42+
uses: pnpm/action-setup@v4
43+
with:
44+
version: 10.18.1
45+
46+
- name: Setup Node.js
47+
uses: actions/setup-node@v6
48+
with:
49+
node-version: 22.14.0
50+
cache: pnpm
51+
cache-dependency-path: ./pnpm-lock.yaml
52+
53+
- name: Install dependencies
54+
run: pnpm install --frozen-lockfile
55+
56+
- name: Build server
57+
run: pnpm --filter=server build
58+
59+
- name: Zip server build
60+
run: zip -r server-build.zip server/.nitro server/.output
61+
62+
- name: Upload server
63+
uses: actions/upload-artifact@v5
64+
with:
65+
name: Server build
66+
path: server-build.zip
67+
68+
build-docs:
69+
name: Build docs
70+
runs-on: ubuntu-latest
71+
steps:
72+
- name: Checkout action
73+
uses: actions/checkout@v5
74+
75+
- name: Cache artifacts
76+
uses: actions/cache/restore@v4
77+
with:
78+
key: astro-cache-${{ github.repository }}
79+
path: |
80+
docs/.astro
81+
docs/.cache
82+
83+
- name: Setup pnpm
84+
uses: pnpm/action-setup@v4
85+
with:
86+
version: 10.18.1
87+
88+
- name: Setup Node.js
89+
uses: actions/setup-node@v6
90+
with:
91+
node-version: 22.14.0
92+
cache: pnpm
93+
cache-dependency-path: ./pnpm-lock.yaml
94+
95+
- name: Install dependencies
96+
run: pnpm install --frozen-lockfile
97+
98+
- name: Build server
99+
run: pnpm --filter=docs build
100+
101+
- name: Upload server
102+
uses: actions/upload-artifact@v5
103+
with:
104+
name: Server build
105+
path: docs/dist

0 commit comments

Comments
 (0)