commit
59b59286e3
170 changed files with 250 additions and 40688 deletions
|
|
@ -1,35 +0,0 @@
|
||||||
# Version control
|
|
||||||
.git
|
|
||||||
.gitignore
|
|
||||||
|
|
||||||
# Node.js
|
|
||||||
node_modules
|
|
||||||
npm-debug.log
|
|
||||||
|
|
||||||
# Build artifacts
|
|
||||||
client/dist
|
|
||||||
client/build
|
|
||||||
server/dist
|
|
||||||
server/build
|
|
||||||
|
|
||||||
# Environment variables
|
|
||||||
.env
|
|
||||||
.env.local
|
|
||||||
.env.development
|
|
||||||
.env.test
|
|
||||||
.env.production
|
|
||||||
|
|
||||||
# Editor files
|
|
||||||
.vscode
|
|
||||||
.idea
|
|
||||||
|
|
||||||
# Logs
|
|
||||||
logs
|
|
||||||
*.log
|
|
||||||
|
|
||||||
# Testing
|
|
||||||
coverage
|
|
||||||
|
|
||||||
# Docker
|
|
||||||
Dockerfile
|
|
||||||
.dockerignore
|
|
||||||
1
.gitattributes
vendored
1
.gitattributes
vendored
|
|
@ -1 +0,0 @@
|
||||||
package-lock.json linguist-generated=true
|
|
||||||
40
.github/ISSUE_TEMPLATE/bug_report.md
vendored
40
.github/ISSUE_TEMPLATE/bug_report.md
vendored
|
|
@ -1,40 +0,0 @@
|
||||||
---
|
|
||||||
name: Bug report
|
|
||||||
about: Create a report to help us improve
|
|
||||||
title: ""
|
|
||||||
labels: ""
|
|
||||||
assignees: ""
|
|
||||||
---
|
|
||||||
|
|
||||||
**Inspector Version**
|
|
||||||
|
|
||||||
- [e.g. 0.16.5)
|
|
||||||
|
|
||||||
**Describe the bug**
|
|
||||||
A clear and concise description of what the bug is.
|
|
||||||
|
|
||||||
**To Reproduce**
|
|
||||||
Steps to reproduce the behavior:
|
|
||||||
|
|
||||||
1. Go to '...'
|
|
||||||
2. Click on '....'
|
|
||||||
3. Scroll down to '....'
|
|
||||||
4. See error
|
|
||||||
|
|
||||||
**Expected behavior**
|
|
||||||
A clear and concise description of what you expected to happen.
|
|
||||||
|
|
||||||
**Screenshots**
|
|
||||||
If applicable, add screenshots to help explain your problem.
|
|
||||||
|
|
||||||
**Environment (please complete the following information):**
|
|
||||||
|
|
||||||
- OS: [e.g. iOS]
|
|
||||||
- Browser [e.g. chrome, safari]
|
|
||||||
|
|
||||||
**Additional context**
|
|
||||||
Add any other context about the problem here.
|
|
||||||
|
|
||||||
**Version Consideration**
|
|
||||||
|
|
||||||
Inspector V2 is under development to address architectural and UX improvements. See [CONTRIBUTING.md](CONTRIBUTING.md) for information about V2 development.
|
|
||||||
57
.github/pull_request_template.md
vendored
57
.github/pull_request_template.md
vendored
|
|
@ -1,57 +0,0 @@
|
||||||
## Summary
|
|
||||||
|
|
||||||
<!-- Provide a brief description of what this PR does -->
|
|
||||||
|
|
||||||
> **Note:** Inspector V2 is under development to address architectural and UX improvements. See [CONTRIBUTING.md](CONTRIBUTING.md) for information about V2 development.
|
|
||||||
|
|
||||||
## Type of Change
|
|
||||||
|
|
||||||
<!-- Mark the relevant option with an "x" -->
|
|
||||||
|
|
||||||
- [ ] Bug fix (non-breaking change that fixes an issue)
|
|
||||||
- [ ] New feature (non-breaking change that adds functionality)
|
|
||||||
- [ ] Documentation update
|
|
||||||
- [ ] Refactoring (no functional changes)
|
|
||||||
- [ ] Test updates
|
|
||||||
- [ ] Build/CI improvements
|
|
||||||
|
|
||||||
## Changes Made
|
|
||||||
|
|
||||||
<!-- Describe the changes in detail. Include screenshots/recordings if applicable -->
|
|
||||||
|
|
||||||
## Related Issues
|
|
||||||
|
|
||||||
<!-- Link to related issues using #issue_number or "Fixes #issue_number" -->
|
|
||||||
|
|
||||||
## Testing
|
|
||||||
|
|
||||||
<!-- Describe how you tested these changes, where applicable -->
|
|
||||||
|
|
||||||
- [ ] Tested in UI mode
|
|
||||||
- [ ] Tested in CLI mode
|
|
||||||
- [ ] Tested with STDIO transport
|
|
||||||
- [ ] Tested with SSE transport
|
|
||||||
- [ ] Tested with Streamable HTTP transport
|
|
||||||
- [ ] Added/updated automated tests
|
|
||||||
- [ ] Manual testing performed
|
|
||||||
|
|
||||||
### Test Results and/or Instructions
|
|
||||||
|
|
||||||
<!-- Provide steps for reviewers to test your changes -->
|
|
||||||
|
|
||||||
Screenshots are encouraged to share your testing results for this change.
|
|
||||||
|
|
||||||
## Checklist
|
|
||||||
|
|
||||||
- [ ] Code follows the style guidelines (ran `npm run prettier-fix`)
|
|
||||||
- [ ] Self-review completed
|
|
||||||
- [ ] Code is commented where necessary
|
|
||||||
- [ ] Documentation updated (README, comments, etc.)
|
|
||||||
|
|
||||||
## Breaking Changes
|
|
||||||
|
|
||||||
<!-- If this is a breaking change, describe the impact and migration path -->
|
|
||||||
|
|
||||||
## Additional Context
|
|
||||||
|
|
||||||
<!-- Add any other context, screenshots, or information about the PR here -->
|
|
||||||
50
.github/workflows/claude.yml
vendored
50
.github/workflows/claude.yml
vendored
|
|
@ -1,50 +0,0 @@
|
||||||
name: Claude Code
|
|
||||||
|
|
||||||
on:
|
|
||||||
issue_comment:
|
|
||||||
types: [created]
|
|
||||||
pull_request_review_comment:
|
|
||||||
types: [created]
|
|
||||||
issues:
|
|
||||||
types: [opened, assigned]
|
|
||||||
pull_request_review:
|
|
||||||
types: [submitted]
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
claude:
|
|
||||||
if: |
|
|
||||||
(
|
|
||||||
(github.event_name == 'issue_comment' && contains(github.event.comment.body, '@claude')) ||
|
|
||||||
(github.event_name == 'pull_request_review_comment' && contains(github.event.comment.body, '@claude')) ||
|
|
||||||
(github.event_name == 'pull_request_review' && contains(github.event.review.body, '@claude')) ||
|
|
||||||
(github.event_name == 'issues' && (contains(github.event.issue.body, '@claude') || contains(github.event.issue.title, '@claude')))
|
|
||||||
)
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
permissions:
|
|
||||||
contents: read
|
|
||||||
pull-requests: read
|
|
||||||
issues: read
|
|
||||||
id-token: write
|
|
||||||
actions: read
|
|
||||||
steps:
|
|
||||||
- name: Checkout repository
|
|
||||||
uses: actions/checkout@v4
|
|
||||||
with:
|
|
||||||
fetch-depth: 1
|
|
||||||
|
|
||||||
- name: Run Claude Code
|
|
||||||
id: claude
|
|
||||||
uses: anthropics/claude-code-action@v1
|
|
||||||
with:
|
|
||||||
anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
|
|
||||||
|
|
||||||
# Allow Claude to read CI results on PRs
|
|
||||||
additional_permissions: |
|
|
||||||
actions: read
|
|
||||||
|
|
||||||
# Trigger when assigned to an issue
|
|
||||||
assignee_trigger: "claude"
|
|
||||||
|
|
||||||
claude_args: |
|
|
||||||
--allowedTools Bash
|
|
||||||
--system-prompt "If posting a comment to GitHub, give a concise summary of the comment at the top and put all the details in a <details> block."
|
|
||||||
41
.github/workflows/cli_tests.yml
vendored
41
.github/workflows/cli_tests.yml
vendored
|
|
@ -1,41 +0,0 @@
|
||||||
name: CLI Tests
|
|
||||||
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
paths:
|
|
||||||
- "cli/**"
|
|
||||||
pull_request:
|
|
||||||
paths:
|
|
||||||
- "cli/**"
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
test:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
defaults:
|
|
||||||
run:
|
|
||||||
working-directory: ./cli
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v4
|
|
||||||
|
|
||||||
- name: Set up Node.js
|
|
||||||
uses: actions/setup-node@v4
|
|
||||||
with:
|
|
||||||
node-version-file: package.json
|
|
||||||
cache: npm
|
|
||||||
|
|
||||||
- name: Install dependencies
|
|
||||||
run: |
|
|
||||||
cd ..
|
|
||||||
npm ci --ignore-scripts
|
|
||||||
|
|
||||||
- name: Build CLI
|
|
||||||
run: npm run build
|
|
||||||
|
|
||||||
- name: Explicitly pre-install test dependencies
|
|
||||||
run: npx -y @modelcontextprotocol/server-everything --help || true
|
|
||||||
|
|
||||||
- name: Run tests
|
|
||||||
run: npm test
|
|
||||||
env:
|
|
||||||
NPM_CONFIG_YES: true
|
|
||||||
CI: true
|
|
||||||
78
.github/workflows/e2e_tests.yml
vendored
78
.github/workflows/e2e_tests.yml
vendored
|
|
@ -1,78 +0,0 @@
|
||||||
name: Playwright Tests
|
|
||||||
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
branches: [main]
|
|
||||||
pull_request:
|
|
||||||
branches: [main]
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
test:
|
|
||||||
# Installing Playwright dependencies can take quite awhile, and also depends on GitHub CI load.
|
|
||||||
timeout-minutes: 15
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: Install dependencies
|
|
||||||
run: |
|
|
||||||
sudo apt-get update
|
|
||||||
sudo apt-get install -y libwoff1
|
|
||||||
|
|
||||||
- uses: actions/checkout@v4
|
|
||||||
|
|
||||||
- uses: actions/setup-node@v4
|
|
||||||
id: setup_node
|
|
||||||
with:
|
|
||||||
node-version-file: package.json
|
|
||||||
cache: npm
|
|
||||||
|
|
||||||
# Cache Playwright browsers
|
|
||||||
- name: Cache Playwright browsers
|
|
||||||
id: cache-playwright
|
|
||||||
uses: actions/cache@v4
|
|
||||||
with:
|
|
||||||
path: ~/.cache/ms-playwright # The default Playwright cache path
|
|
||||||
key: ${{ runner.os }}-playwright-${{ hashFiles('package-lock.json') }} # Cache key based on OS and package-lock.json
|
|
||||||
restore-keys: |
|
|
||||||
${{ runner.os }}-playwright-
|
|
||||||
|
|
||||||
- name: Install dependencies
|
|
||||||
run: npm ci
|
|
||||||
|
|
||||||
- name: Install Playwright dependencies
|
|
||||||
run: npx playwright install-deps
|
|
||||||
|
|
||||||
- name: Install Playwright and browsers unless cached
|
|
||||||
run: npx playwright install --with-deps
|
|
||||||
if: steps.cache-playwright.outputs.cache-hit != 'true'
|
|
||||||
|
|
||||||
- name: Run Playwright tests
|
|
||||||
id: playwright-tests
|
|
||||||
run: npm run test:e2e
|
|
||||||
|
|
||||||
- name: Upload Playwright Report and Screenshots
|
|
||||||
uses: actions/upload-artifact@v4
|
|
||||||
if: steps.playwright-tests.conclusion != 'skipped'
|
|
||||||
with:
|
|
||||||
name: playwright-report
|
|
||||||
path: |
|
|
||||||
client/playwright-report/
|
|
||||||
client/test-results/
|
|
||||||
client/results.json
|
|
||||||
retention-days: 2
|
|
||||||
|
|
||||||
- name: Publish Playwright Test Summary
|
|
||||||
uses: daun/playwright-report-summary@v3
|
|
||||||
if: steps.playwright-tests.conclusion != 'skipped'
|
|
||||||
with:
|
|
||||||
create-comment: ${{ github.event.pull_request.head.repo.full_name == github.repository }}
|
|
||||||
report-file: client/results.json
|
|
||||||
comment-title: "🎭 Playwright E2E Test Results"
|
|
||||||
job-summary: true
|
|
||||||
icon-style: "emojis"
|
|
||||||
custom-info: |
|
|
||||||
**Test Environment:** Ubuntu Latest, Node.js ${{ steps.setup_node.outputs.node-version }}
|
|
||||||
**Browsers:** Chromium, Firefox
|
|
||||||
|
|
||||||
📊 [View Detailed HTML Report](https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}) (download artifacts)
|
|
||||||
test-command: "npm run test:e2e"
|
|
||||||
116
.github/workflows/main.yml
vendored
116
.github/workflows/main.yml
vendored
|
|
@ -1,116 +0,0 @@
|
||||||
on:
|
|
||||||
push:
|
|
||||||
branches:
|
|
||||||
- main
|
|
||||||
|
|
||||||
pull_request:
|
|
||||||
release:
|
|
||||||
types: [published]
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
build:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v4
|
|
||||||
|
|
||||||
- name: Check formatting
|
|
||||||
run: npx prettier --check .
|
|
||||||
|
|
||||||
- uses: actions/setup-node@v4
|
|
||||||
with:
|
|
||||||
node-version-file: package.json
|
|
||||||
cache: npm
|
|
||||||
|
|
||||||
# Working around https://github.com/npm/cli/issues/4828
|
|
||||||
# - run: npm ci
|
|
||||||
- run: npm install --no-package-lock
|
|
||||||
|
|
||||||
- name: Check version consistency
|
|
||||||
run: npm run check-version
|
|
||||||
|
|
||||||
- name: Check linting
|
|
||||||
working-directory: ./client
|
|
||||||
run: npm run lint
|
|
||||||
|
|
||||||
- name: Run client tests
|
|
||||||
working-directory: ./client
|
|
||||||
run: npm test
|
|
||||||
|
|
||||||
- run: npm run build
|
|
||||||
|
|
||||||
publish:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
if: github.event_name == 'release'
|
|
||||||
environment: release
|
|
||||||
needs: build
|
|
||||||
|
|
||||||
permissions:
|
|
||||||
contents: read
|
|
||||||
id-token: write
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v4
|
|
||||||
- uses: actions/setup-node@v4
|
|
||||||
with:
|
|
||||||
node-version-file: package.json
|
|
||||||
cache: npm
|
|
||||||
registry-url: "https://registry.npmjs.org"
|
|
||||||
|
|
||||||
# Working around https://github.com/npm/cli/issues/4828
|
|
||||||
# - run: npm ci
|
|
||||||
- run: npm install --no-package-lock
|
|
||||||
|
|
||||||
# TODO: Add --provenance once the repo is public
|
|
||||||
- run: npm run publish-all
|
|
||||||
env:
|
|
||||||
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
|
|
||||||
|
|
||||||
publish-github-container-registry:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
if: github.event_name == 'release'
|
|
||||||
environment: release
|
|
||||||
needs: build
|
|
||||||
permissions:
|
|
||||||
contents: read
|
|
||||||
packages: write
|
|
||||||
attestations: write
|
|
||||||
id-token: write
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v4
|
|
||||||
|
|
||||||
- name: Log in to the Container registry
|
|
||||||
uses: docker/login-action@v3
|
|
||||||
with:
|
|
||||||
registry: ghcr.io
|
|
||||||
username: ${{ github.actor }}
|
|
||||||
password: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
|
|
||||||
- name: Extract metadata (tags, labels) for Docker
|
|
||||||
id: meta
|
|
||||||
uses: docker/metadata-action@v5
|
|
||||||
with:
|
|
||||||
images: ghcr.io/${{ github.repository }}
|
|
||||||
|
|
||||||
- name: Set up QEMU
|
|
||||||
uses: docker/setup-qemu-action@v3
|
|
||||||
|
|
||||||
- name: Set up Docker Buildx
|
|
||||||
uses: docker/setup-buildx-action@v3
|
|
||||||
|
|
||||||
- name: Build and push Docker image
|
|
||||||
id: push
|
|
||||||
uses: docker/build-push-action@v6
|
|
||||||
with:
|
|
||||||
context: .
|
|
||||||
push: true
|
|
||||||
platforms: linux/amd64,linux/arm64
|
|
||||||
tags: ${{ steps.meta.outputs.tags }}
|
|
||||||
labels: ${{ steps.meta.outputs.labels }}
|
|
||||||
|
|
||||||
- name: Generate artifact attestation
|
|
||||||
uses: actions/attest-build-provenance@v2
|
|
||||||
with:
|
|
||||||
subject-name: ghcr.io/${{ github.repository }}
|
|
||||||
subject-digest: ${{ steps.push.outputs.digest }}
|
|
||||||
push-to-registry: true
|
|
||||||
25
.gitignore
vendored
25
.gitignore
vendored
|
|
@ -1,21 +1,6 @@
|
||||||
.DS_Store
|
|
||||||
.vscode
|
|
||||||
.idea
|
.idea
|
||||||
node_modules/
|
.vscode
|
||||||
*-workspace/
|
.DS_Store
|
||||||
server/build
|
node_modules
|
||||||
client/dist
|
dist
|
||||||
client/tsconfig.app.tsbuildinfo
|
.env
|
||||||
client/tsconfig.node.tsbuildinfo
|
|
||||||
cli/build
|
|
||||||
test-output
|
|
||||||
tool-test-output
|
|
||||||
metadata-test-output
|
|
||||||
# symlinked by `npm run link:sdk`:
|
|
||||||
sdk
|
|
||||||
client/playwright-report/
|
|
||||||
client/results.json
|
|
||||||
client/test-results/
|
|
||||||
client/e2e/test-results/
|
|
||||||
mcp.json
|
|
||||||
.claude/settings.local.json
|
|
||||||
|
|
|
||||||
|
|
@ -1,2 +0,0 @@
|
||||||
npx lint-staged
|
|
||||||
git update-index --again
|
|
||||||
|
|
@ -1 +0,0 @@
|
||||||
22.x.x
|
|
||||||
2
.npmrc
2
.npmrc
|
|
@ -1,2 +0,0 @@
|
||||||
registry="https://registry.npmjs.org/"
|
|
||||||
@modelcontextprotocol:registry="https://registry.npmjs.org/"
|
|
||||||
|
|
@ -1,6 +0,0 @@
|
||||||
packages
|
|
||||||
server/build
|
|
||||||
CODE_OF_CONDUCT.md
|
|
||||||
SECURITY.md
|
|
||||||
mcp.json
|
|
||||||
.claude/settings.local.json
|
|
||||||
35
AGENTS.md
35
AGENTS.md
|
|
@ -1,35 +0,0 @@
|
||||||
# MCP Inspector Development Guide
|
|
||||||
|
|
||||||
> **Note:** Inspector V2 is under development to address architectural and UX improvements. These guidelines apply to the current version (V1). See [CONTRIBUTING.md](CONTRIBUTING.md) for information about V2 development.
|
|
||||||
|
|
||||||
## Build Commands
|
|
||||||
|
|
||||||
- Build all: `npm run build`
|
|
||||||
- Build client: `npm run build-client`
|
|
||||||
- Build server: `npm run build-server`
|
|
||||||
- Development mode: `npm run dev` (use `npm run dev:windows` on Windows)
|
|
||||||
- Format code: `npm run prettier-fix`
|
|
||||||
- Client lint: `cd client && npm run lint`
|
|
||||||
|
|
||||||
## Code Style Guidelines
|
|
||||||
|
|
||||||
- Use TypeScript with proper type annotations
|
|
||||||
- Follow React functional component patterns with hooks
|
|
||||||
- Use ES modules (import/export) not CommonJS
|
|
||||||
- Use Prettier for formatting (auto-formatted on commit)
|
|
||||||
- Follow existing naming conventions:
|
|
||||||
- camelCase for variables and functions
|
|
||||||
- PascalCase for component names and types
|
|
||||||
- kebab-case for file names
|
|
||||||
- Use async/await for asynchronous operations
|
|
||||||
- Implement proper error handling with try/catch blocks
|
|
||||||
- Use Tailwind CSS for styling in the client
|
|
||||||
- Keep components small and focused on a single responsibility
|
|
||||||
|
|
||||||
## Project Organization
|
|
||||||
|
|
||||||
The project is organized as a monorepo with workspaces:
|
|
||||||
|
|
||||||
- `client/`: React frontend with Vite, TypeScript and Tailwind
|
|
||||||
- `server/`: Express backend with TypeScript
|
|
||||||
- `cli/`: Command-line interface for testing and invoking MCP server methods directly
|
|
||||||
|
|
@ -1 +0,0 @@
|
||||||
@./AGENTS.md
|
|
||||||
|
|
@ -1,128 +0,0 @@
|
||||||
# Contributor Covenant Code of Conduct
|
|
||||||
|
|
||||||
## Our Pledge
|
|
||||||
|
|
||||||
We as members, contributors, and leaders pledge to make participation in our
|
|
||||||
community a harassment-free experience for everyone, regardless of age, body
|
|
||||||
size, visible or invisible disability, ethnicity, sex characteristics, gender
|
|
||||||
identity and expression, level of experience, education, socio-economic status,
|
|
||||||
nationality, personal appearance, race, religion, or sexual identity
|
|
||||||
and orientation.
|
|
||||||
|
|
||||||
We pledge to act and interact in ways that contribute to an open, welcoming,
|
|
||||||
diverse, inclusive, and healthy community.
|
|
||||||
|
|
||||||
## Our Standards
|
|
||||||
|
|
||||||
Examples of behavior that contributes to a positive environment for our
|
|
||||||
community include:
|
|
||||||
|
|
||||||
* Demonstrating empathy and kindness toward other people
|
|
||||||
* Being respectful of differing opinions, viewpoints, and experiences
|
|
||||||
* Giving and gracefully accepting constructive feedback
|
|
||||||
* Accepting responsibility and apologizing to those affected by our mistakes,
|
|
||||||
and learning from the experience
|
|
||||||
* Focusing on what is best not just for us as individuals, but for the
|
|
||||||
overall community
|
|
||||||
|
|
||||||
Examples of unacceptable behavior include:
|
|
||||||
|
|
||||||
* The use of sexualized language or imagery, and sexual attention or
|
|
||||||
advances of any kind
|
|
||||||
* Trolling, insulting or derogatory comments, and personal or political attacks
|
|
||||||
* Public or private harassment
|
|
||||||
* Publishing others' private information, such as a physical or email
|
|
||||||
address, without their explicit permission
|
|
||||||
* Other conduct which could reasonably be considered inappropriate in a
|
|
||||||
professional setting
|
|
||||||
|
|
||||||
## Enforcement Responsibilities
|
|
||||||
|
|
||||||
Community leaders are responsible for clarifying and enforcing our standards of
|
|
||||||
acceptable behavior and will take appropriate and fair corrective action in
|
|
||||||
response to any behavior that they deem inappropriate, threatening, offensive,
|
|
||||||
or harmful.
|
|
||||||
|
|
||||||
Community leaders have the right and responsibility to remove, edit, or reject
|
|
||||||
comments, commits, code, wiki edits, issues, and other contributions that are
|
|
||||||
not aligned to this Code of Conduct, and will communicate reasons for moderation
|
|
||||||
decisions when appropriate.
|
|
||||||
|
|
||||||
## Scope
|
|
||||||
|
|
||||||
This Code of Conduct applies within all community spaces, and also applies when
|
|
||||||
an individual is officially representing the community in public spaces.
|
|
||||||
Examples of representing our community include using an official e-mail address,
|
|
||||||
posting via an official social media account, or acting as an appointed
|
|
||||||
representative at an online or offline event.
|
|
||||||
|
|
||||||
## Enforcement
|
|
||||||
|
|
||||||
Instances of abusive, harassing, or otherwise unacceptable behavior may be
|
|
||||||
reported to the community leaders responsible for enforcement at
|
|
||||||
mcp-coc@anthropic.com.
|
|
||||||
All complaints will be reviewed and investigated promptly and fairly.
|
|
||||||
|
|
||||||
All community leaders are obligated to respect the privacy and security of the
|
|
||||||
reporter of any incident.
|
|
||||||
|
|
||||||
## Enforcement Guidelines
|
|
||||||
|
|
||||||
Community leaders will follow these Community Impact Guidelines in determining
|
|
||||||
the consequences for any action they deem in violation of this Code of Conduct:
|
|
||||||
|
|
||||||
### 1. Correction
|
|
||||||
|
|
||||||
**Community Impact**: Use of inappropriate language or other behavior deemed
|
|
||||||
unprofessional or unwelcome in the community.
|
|
||||||
|
|
||||||
**Consequence**: A private, written warning from community leaders, providing
|
|
||||||
clarity around the nature of the violation and an explanation of why the
|
|
||||||
behavior was inappropriate. A public apology may be requested.
|
|
||||||
|
|
||||||
### 2. Warning
|
|
||||||
|
|
||||||
**Community Impact**: A violation through a single incident or series
|
|
||||||
of actions.
|
|
||||||
|
|
||||||
**Consequence**: A warning with consequences for continued behavior. No
|
|
||||||
interaction with the people involved, including unsolicited interaction with
|
|
||||||
those enforcing the Code of Conduct, for a specified period of time. This
|
|
||||||
includes avoiding interactions in community spaces as well as external channels
|
|
||||||
like social media. Violating these terms may lead to a temporary or
|
|
||||||
permanent ban.
|
|
||||||
|
|
||||||
### 3. Temporary Ban
|
|
||||||
|
|
||||||
**Community Impact**: A serious violation of community standards, including
|
|
||||||
sustained inappropriate behavior.
|
|
||||||
|
|
||||||
**Consequence**: A temporary ban from any sort of interaction or public
|
|
||||||
communication with the community for a specified period of time. No public or
|
|
||||||
private interaction with the people involved, including unsolicited interaction
|
|
||||||
with those enforcing the Code of Conduct, is allowed during this period.
|
|
||||||
Violating these terms may lead to a permanent ban.
|
|
||||||
|
|
||||||
### 4. Permanent Ban
|
|
||||||
|
|
||||||
**Community Impact**: Demonstrating a pattern of violation of community
|
|
||||||
standards, including sustained inappropriate behavior, harassment of an
|
|
||||||
individual, or aggression toward or disparagement of classes of individuals.
|
|
||||||
|
|
||||||
**Consequence**: A permanent ban from any sort of public interaction within
|
|
||||||
the community.
|
|
||||||
|
|
||||||
## Attribution
|
|
||||||
|
|
||||||
This Code of Conduct is adapted from the [Contributor Covenant][homepage],
|
|
||||||
version 2.0, available at
|
|
||||||
https://www.contributor-covenant.org/version/2/0/code_of_conduct.html.
|
|
||||||
|
|
||||||
Community Impact Guidelines were inspired by [Mozilla's code of conduct
|
|
||||||
enforcement ladder](https://github.com/mozilla/diversity).
|
|
||||||
|
|
||||||
[homepage]: https://www.contributor-covenant.org
|
|
||||||
|
|
||||||
For answers to common questions about this code of conduct, see the FAQ at
|
|
||||||
https://www.contributor-covenant.org/faq. Translations are available at
|
|
||||||
https://www.contributor-covenant.org/translations.
|
|
||||||
|
|
@ -1,48 +0,0 @@
|
||||||
# Contributing to Model Context Protocol Inspector
|
|
||||||
|
|
||||||
Thanks for your interest in contributing! This guide explains how to get involved.
|
|
||||||
|
|
||||||
## Getting Started
|
|
||||||
|
|
||||||
1. Fork the repository and clone it locally
|
|
||||||
2. Install dependencies with `npm install`
|
|
||||||
3. Run `npm run dev` to start both client and server in development mode
|
|
||||||
4. Use the web UI at http://localhost:6274 to interact with the inspector
|
|
||||||
|
|
||||||
## Inspector V2 Development
|
|
||||||
|
|
||||||
We're actively developing **Inspector V2** to address architectural and UX improvements. We invite you to follow progress and participate in the Inspector V2 Working Group in [Discord](https://modelcontextprotocol.io/community/communication), [weekly meetings](https://meet.modelcontextprotocol.io/tag/inspector-v2-wg), and [GitHub Discussions](https://github.com/modelcontextprotocol/modelcontextprotocol/discussions/categories/meeting-notes-other) (where notes are posted after meetings).
|
|
||||||
|
|
||||||
**Current version (V1) contribution scope:**
|
|
||||||
|
|
||||||
- Critical issues are actively maintained
|
|
||||||
- Small UX improvements are welcome
|
|
||||||
- Documentation updates are always appreciated
|
|
||||||
- Major changes will be directed to V2 development
|
|
||||||
|
|
||||||
## Development Process & Pull Requests
|
|
||||||
|
|
||||||
1. Create a new branch for your changes
|
|
||||||
2. Make your changes following existing code style and conventions. You can run `npm run prettier-check` and `npm run prettier-fix` as applicable.
|
|
||||||
3. Test changes locally by running `npm test` and `npm run test:e2e`
|
|
||||||
4. Update documentation as needed
|
|
||||||
5. Use clear commit messages explaining your changes
|
|
||||||
6. Verify all changes work as expected
|
|
||||||
7. Submit a pull request
|
|
||||||
8. PRs will be reviewed by maintainers
|
|
||||||
|
|
||||||
## Code of Conduct
|
|
||||||
|
|
||||||
This project follows our [Code of Conduct](CODE_OF_CONDUCT.md). Please read it before contributing.
|
|
||||||
|
|
||||||
## Security
|
|
||||||
|
|
||||||
If you find a security vulnerability, please refer to our [Security Policy](SECURITY.md) for reporting instructions.
|
|
||||||
|
|
||||||
## Questions?
|
|
||||||
|
|
||||||
Feel free to [open an issue](https://github.com/modelcontextprotocol/mcp-inspector/issues) for questions or join the MCP Contributor [Discord server](https://modelcontextprotocol.io/community/communication). Also, please see notes above on Inspector V2 Development.
|
|
||||||
|
|
||||||
## License
|
|
||||||
|
|
||||||
By contributing, you agree that your contributions will be licensed under the MIT license.
|
|
||||||
52
Dockerfile
52
Dockerfile
|
|
@ -1,52 +0,0 @@
|
||||||
# Build stage
|
|
||||||
FROM node:current-alpine3.22 AS builder
|
|
||||||
|
|
||||||
# Set working directory
|
|
||||||
WORKDIR /app
|
|
||||||
|
|
||||||
# Copy package files for installation
|
|
||||||
COPY package*.json ./
|
|
||||||
COPY .npmrc ./
|
|
||||||
COPY client/package*.json ./client/
|
|
||||||
COPY server/package*.json ./server/
|
|
||||||
COPY cli/package*.json ./cli/
|
|
||||||
|
|
||||||
# Install dependencies
|
|
||||||
RUN npm ci --ignore-scripts
|
|
||||||
|
|
||||||
# Copy source files
|
|
||||||
COPY . .
|
|
||||||
|
|
||||||
# Build the application
|
|
||||||
RUN npm run build
|
|
||||||
|
|
||||||
# Production stage
|
|
||||||
FROM node:24-slim
|
|
||||||
|
|
||||||
WORKDIR /app
|
|
||||||
|
|
||||||
# Copy package files for production
|
|
||||||
COPY package*.json ./
|
|
||||||
COPY .npmrc ./
|
|
||||||
COPY client/package*.json ./client/
|
|
||||||
COPY server/package*.json ./server/
|
|
||||||
COPY cli/package*.json ./cli/
|
|
||||||
|
|
||||||
# Install only production dependencies
|
|
||||||
RUN npm ci --omit=dev --ignore-scripts
|
|
||||||
|
|
||||||
# Copy built files from builder stage
|
|
||||||
COPY --from=builder /app/client/dist ./client/dist
|
|
||||||
COPY --from=builder /app/client/bin ./client/bin
|
|
||||||
COPY --from=builder /app/server/build ./server/build
|
|
||||||
COPY --from=builder /app/cli/build ./cli/build
|
|
||||||
|
|
||||||
# Set default port values as environment variables
|
|
||||||
ENV CLIENT_PORT=6274
|
|
||||||
ENV SERVER_PORT=6277
|
|
||||||
|
|
||||||
# Document which ports the application uses internally
|
|
||||||
EXPOSE ${CLIENT_PORT} ${SERVER_PORT}
|
|
||||||
|
|
||||||
# Use ENTRYPOINT with CMD for arguments
|
|
||||||
ENTRYPOINT ["npm", "start"]
|
|
||||||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue