@purplesquirrel/volcengine-mcp 1.0.0 → 1.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.editorconfig +21 -0
- package/.github/CODEOWNERS +11 -0
- package/.github/FUNDING.yml +5 -0
- package/.github/ISSUE_TEMPLATE/bug_report.md +29 -0
- package/.github/ISSUE_TEMPLATE/feature_request.md +22 -0
- package/.github/PULL_REQUEST_TEMPLATE.md +17 -0
- package/.github/dependabot.yml +0 -5
- package/.github/labeler-config.yml +33 -0
- package/.github/release-drafter.yml +38 -0
- package/.github/workflows/codeql.yml +40 -0
- package/.github/workflows/docker-publish.yml +46 -0
- package/.github/workflows/labeler.yml +16 -0
- package/.github/workflows/npm-publish.yml +38 -0
- package/.github/workflows/release-drafter.yml +19 -0
- package/.github/workflows/scorecard.yml +35 -0
- package/.lintstagedrc.json +4 -0
- package/.nvmrc +1 -0
- package/.prettierrc +7 -0
- package/CHANGELOG.md +26 -0
- package/CODE_OF_CONDUCT.md +26 -0
- package/CONTRIBUTING.md +62 -0
- package/Dockerfile +18 -0
- package/README.md +15 -0
- package/SECURITY.md +34 -0
- package/index.js +0 -0
- package/package.json +18 -2
- package/test/smoke.test.js +34 -0
package/.editorconfig
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
root = true
|
|
2
|
+
|
|
3
|
+
[*]
|
|
4
|
+
indent_style = space
|
|
5
|
+
indent_size = 2
|
|
6
|
+
end_of_line = lf
|
|
7
|
+
charset = utf-8
|
|
8
|
+
trim_trailing_whitespace = true
|
|
9
|
+
insert_final_newline = true
|
|
10
|
+
|
|
11
|
+
[*.md]
|
|
12
|
+
trim_trailing_whitespace = false
|
|
13
|
+
|
|
14
|
+
[*.{json,yml,yaml}]
|
|
15
|
+
indent_size = 2
|
|
16
|
+
|
|
17
|
+
[*.py]
|
|
18
|
+
indent_size = 4
|
|
19
|
+
|
|
20
|
+
[Makefile]
|
|
21
|
+
indent_style = tab
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: Bug Report
|
|
3
|
+
about: Report a bug or issue
|
|
4
|
+
title: '[BUG] '
|
|
5
|
+
labels: bug
|
|
6
|
+
assignees: ''
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## Description
|
|
10
|
+
A clear description of the bug.
|
|
11
|
+
|
|
12
|
+
## Steps to Reproduce
|
|
13
|
+
1.
|
|
14
|
+
2.
|
|
15
|
+
3.
|
|
16
|
+
|
|
17
|
+
## Expected Behavior
|
|
18
|
+
What you expected to happen.
|
|
19
|
+
|
|
20
|
+
## Actual Behavior
|
|
21
|
+
What actually happened.
|
|
22
|
+
|
|
23
|
+
## Environment
|
|
24
|
+
- OS:
|
|
25
|
+
- Node.js version:
|
|
26
|
+
- Package version:
|
|
27
|
+
|
|
28
|
+
## Logs/Screenshots
|
|
29
|
+
If applicable, add logs or screenshots.
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: Feature Request
|
|
3
|
+
about: Suggest a new feature
|
|
4
|
+
title: '[FEATURE] '
|
|
5
|
+
labels: enhancement
|
|
6
|
+
assignees: ''
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## Description
|
|
10
|
+
A clear description of the feature you'd like.
|
|
11
|
+
|
|
12
|
+
## Use Case
|
|
13
|
+
Why is this feature needed? What problem does it solve?
|
|
14
|
+
|
|
15
|
+
## Proposed Solution
|
|
16
|
+
How do you think this should work?
|
|
17
|
+
|
|
18
|
+
## Alternatives Considered
|
|
19
|
+
Any other approaches you've thought about.
|
|
20
|
+
|
|
21
|
+
## Additional Context
|
|
22
|
+
Any other relevant information.
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
## Description
|
|
2
|
+
Brief description of the changes.
|
|
3
|
+
|
|
4
|
+
## Type of Change
|
|
5
|
+
- [ ] Bug fix
|
|
6
|
+
- [ ] New feature
|
|
7
|
+
- [ ] Breaking change
|
|
8
|
+
- [ ] Documentation update
|
|
9
|
+
|
|
10
|
+
## Testing
|
|
11
|
+
How was this tested?
|
|
12
|
+
|
|
13
|
+
## Checklist
|
|
14
|
+
- [ ] Code follows project style
|
|
15
|
+
- [ ] Self-reviewed the code
|
|
16
|
+
- [ ] Added/updated tests if needed
|
|
17
|
+
- [ ] Updated documentation if needed
|
package/.github/dependabot.yml
CHANGED
|
@@ -5,8 +5,6 @@ updates:
|
|
|
5
5
|
schedule:
|
|
6
6
|
interval: "weekly"
|
|
7
7
|
open-pull-requests-limit: 10
|
|
8
|
-
labels:
|
|
9
|
-
- "dependencies"
|
|
10
8
|
commit-message:
|
|
11
9
|
prefix: "chore(deps)"
|
|
12
10
|
|
|
@@ -14,8 +12,5 @@ updates:
|
|
|
14
12
|
directory: "/"
|
|
15
13
|
schedule:
|
|
16
14
|
interval: "weekly"
|
|
17
|
-
labels:
|
|
18
|
-
- "dependencies"
|
|
19
|
-
- "github-actions"
|
|
20
15
|
commit-message:
|
|
21
16
|
prefix: "chore(ci)"
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
dependencies:
|
|
2
|
+
- changed-files:
|
|
3
|
+
- any-glob-to-any-file:
|
|
4
|
+
- 'package.json'
|
|
5
|
+
- 'package-lock.json'
|
|
6
|
+
- 'requirements.txt'
|
|
7
|
+
- 'pyproject.toml'
|
|
8
|
+
|
|
9
|
+
documentation:
|
|
10
|
+
- changed-files:
|
|
11
|
+
- any-glob-to-any-file:
|
|
12
|
+
- '**/*.md'
|
|
13
|
+
- 'docs/**'
|
|
14
|
+
|
|
15
|
+
ci:
|
|
16
|
+
- changed-files:
|
|
17
|
+
- any-glob-to-any-file:
|
|
18
|
+
- '.github/**'
|
|
19
|
+
|
|
20
|
+
source:
|
|
21
|
+
- changed-files:
|
|
22
|
+
- any-glob-to-any-file:
|
|
23
|
+
- 'src/**'
|
|
24
|
+
- 'index.js'
|
|
25
|
+
- 'index.ts'
|
|
26
|
+
|
|
27
|
+
tests:
|
|
28
|
+
- changed-files:
|
|
29
|
+
- any-glob-to-any-file:
|
|
30
|
+
- 'test/**'
|
|
31
|
+
- 'tests/**'
|
|
32
|
+
- '**/*.test.js'
|
|
33
|
+
- '**/*.test.ts'
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
name-template: 'v$RESOLVED_VERSION'
|
|
2
|
+
tag-template: 'v$RESOLVED_VERSION'
|
|
3
|
+
categories:
|
|
4
|
+
- title: '🚀 Features'
|
|
5
|
+
labels:
|
|
6
|
+
- 'feature'
|
|
7
|
+
- 'enhancement'
|
|
8
|
+
- title: '🐛 Bug Fixes'
|
|
9
|
+
labels:
|
|
10
|
+
- 'fix'
|
|
11
|
+
- 'bugfix'
|
|
12
|
+
- 'bug'
|
|
13
|
+
- title: '🧰 Maintenance'
|
|
14
|
+
labels:
|
|
15
|
+
- 'chore'
|
|
16
|
+
- 'dependencies'
|
|
17
|
+
change-template: '- $TITLE @$AUTHOR (#$NUMBER)'
|
|
18
|
+
change-title-escapes: '\<*_&'
|
|
19
|
+
version-resolver:
|
|
20
|
+
major:
|
|
21
|
+
labels:
|
|
22
|
+
- 'major'
|
|
23
|
+
minor:
|
|
24
|
+
labels:
|
|
25
|
+
- 'minor'
|
|
26
|
+
- 'feature'
|
|
27
|
+
patch:
|
|
28
|
+
labels:
|
|
29
|
+
- 'patch'
|
|
30
|
+
- 'fix'
|
|
31
|
+
- 'bugfix'
|
|
32
|
+
default: patch
|
|
33
|
+
template: |
|
|
34
|
+
## Changes
|
|
35
|
+
|
|
36
|
+
$CHANGES
|
|
37
|
+
|
|
38
|
+
**Full Changelog**: https://github.com/$OWNER/$REPOSITORY/compare/$PREVIOUS_TAG...v$RESOLVED_VERSION
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
name: CodeQL Security Scan
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches: [main]
|
|
6
|
+
pull_request:
|
|
7
|
+
branches: [main]
|
|
8
|
+
schedule:
|
|
9
|
+
- cron: '0 6 * * 1' # Weekly on Monday
|
|
10
|
+
|
|
11
|
+
jobs:
|
|
12
|
+
analyze:
|
|
13
|
+
name: Analyze
|
|
14
|
+
runs-on: ubuntu-latest
|
|
15
|
+
permissions:
|
|
16
|
+
actions: read
|
|
17
|
+
contents: read
|
|
18
|
+
security-events: write
|
|
19
|
+
|
|
20
|
+
strategy:
|
|
21
|
+
fail-fast: false
|
|
22
|
+
matrix:
|
|
23
|
+
language: ['javascript']
|
|
24
|
+
|
|
25
|
+
steps:
|
|
26
|
+
- name: Checkout repository
|
|
27
|
+
uses: actions/checkout@v4
|
|
28
|
+
|
|
29
|
+
- name: Initialize CodeQL
|
|
30
|
+
uses: github/codeql-action/init@v3
|
|
31
|
+
with:
|
|
32
|
+
languages: ${{ matrix.language }}
|
|
33
|
+
|
|
34
|
+
- name: Autobuild
|
|
35
|
+
uses: github/codeql-action/autobuild@v3
|
|
36
|
+
|
|
37
|
+
- name: Perform CodeQL Analysis
|
|
38
|
+
uses: github/codeql-action/analyze@v3
|
|
39
|
+
with:
|
|
40
|
+
category: "/language:${{ matrix.language }}"
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
name: Docker
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
release:
|
|
5
|
+
types: [published]
|
|
6
|
+
push:
|
|
7
|
+
branches: [main]
|
|
8
|
+
|
|
9
|
+
env:
|
|
10
|
+
REGISTRY: ghcr.io
|
|
11
|
+
|
|
12
|
+
jobs:
|
|
13
|
+
build-and-push:
|
|
14
|
+
runs-on: ubuntu-latest
|
|
15
|
+
permissions:
|
|
16
|
+
contents: read
|
|
17
|
+
packages: write
|
|
18
|
+
|
|
19
|
+
steps:
|
|
20
|
+
- name: Checkout
|
|
21
|
+
uses: actions/checkout@v4
|
|
22
|
+
|
|
23
|
+
- name: Log in to Container Registry
|
|
24
|
+
uses: docker/login-action@v3
|
|
25
|
+
with:
|
|
26
|
+
registry: ${{ env.REGISTRY }}
|
|
27
|
+
username: ${{ github.actor }}
|
|
28
|
+
password: ${{ secrets.GITHUB_TOKEN }}
|
|
29
|
+
|
|
30
|
+
- name: Extract metadata
|
|
31
|
+
id: meta
|
|
32
|
+
uses: docker/metadata-action@v5
|
|
33
|
+
with:
|
|
34
|
+
images: ${{ env.REGISTRY }}/${{ github.repository }}
|
|
35
|
+
tags: |
|
|
36
|
+
type=ref,event=branch
|
|
37
|
+
type=semver,pattern={{version}}
|
|
38
|
+
type=semver,pattern={{major}}.{{minor}}
|
|
39
|
+
|
|
40
|
+
- name: Build and push
|
|
41
|
+
uses: docker/build-push-action@v5
|
|
42
|
+
with:
|
|
43
|
+
context: .
|
|
44
|
+
push: true
|
|
45
|
+
tags: ${{ steps.meta.outputs.tags }}
|
|
46
|
+
labels: ${{ steps.meta.outputs.labels }}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
name: Label PRs
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
pull_request:
|
|
5
|
+
types: [opened, synchronize, reopened]
|
|
6
|
+
|
|
7
|
+
jobs:
|
|
8
|
+
label:
|
|
9
|
+
runs-on: ubuntu-latest
|
|
10
|
+
permissions:
|
|
11
|
+
contents: read
|
|
12
|
+
pull-requests: write
|
|
13
|
+
steps:
|
|
14
|
+
- uses: actions/labeler@v5
|
|
15
|
+
with:
|
|
16
|
+
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
name: Publish to npm
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
release:
|
|
5
|
+
types: [published]
|
|
6
|
+
|
|
7
|
+
jobs:
|
|
8
|
+
publish:
|
|
9
|
+
runs-on: ubuntu-latest
|
|
10
|
+
permissions:
|
|
11
|
+
contents: read
|
|
12
|
+
id-token: write
|
|
13
|
+
|
|
14
|
+
steps:
|
|
15
|
+
- uses: actions/checkout@v4
|
|
16
|
+
|
|
17
|
+
- name: Setup Node.js
|
|
18
|
+
uses: actions/setup-node@v4
|
|
19
|
+
with:
|
|
20
|
+
node-version: '20.x'
|
|
21
|
+
registry-url: 'https://registry.npmjs.org'
|
|
22
|
+
cache: 'npm'
|
|
23
|
+
|
|
24
|
+
- name: Install dependencies
|
|
25
|
+
run: npm ci
|
|
26
|
+
|
|
27
|
+
- name: Build
|
|
28
|
+
run: npm run build --if-present
|
|
29
|
+
|
|
30
|
+
- name: Update version from release tag
|
|
31
|
+
run: |
|
|
32
|
+
VERSION=${GITHUB_REF#refs/tags/v}
|
|
33
|
+
npm version $VERSION --no-git-tag-version --allow-same-version
|
|
34
|
+
|
|
35
|
+
- name: Publish to npm with provenance
|
|
36
|
+
run: npm publish --access public --provenance
|
|
37
|
+
env:
|
|
38
|
+
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
name: Release Drafter
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches: [main]
|
|
6
|
+
pull_request:
|
|
7
|
+
types: [opened, reopened, synchronize]
|
|
8
|
+
|
|
9
|
+
permissions:
|
|
10
|
+
contents: read
|
|
11
|
+
pull-requests: write
|
|
12
|
+
|
|
13
|
+
jobs:
|
|
14
|
+
update_release_draft:
|
|
15
|
+
runs-on: ubuntu-latest
|
|
16
|
+
steps:
|
|
17
|
+
- uses: release-drafter/release-drafter@v6
|
|
18
|
+
env:
|
|
19
|
+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
name: Scorecard analysis
|
|
2
|
+
on:
|
|
3
|
+
branch_protection_rule:
|
|
4
|
+
schedule:
|
|
5
|
+
- cron: '0 7 * * 1'
|
|
6
|
+
push:
|
|
7
|
+
branches: [main]
|
|
8
|
+
|
|
9
|
+
permissions: read-all
|
|
10
|
+
|
|
11
|
+
jobs:
|
|
12
|
+
analysis:
|
|
13
|
+
name: Scorecard analysis
|
|
14
|
+
runs-on: ubuntu-latest
|
|
15
|
+
permissions:
|
|
16
|
+
security-events: write
|
|
17
|
+
id-token: write
|
|
18
|
+
|
|
19
|
+
steps:
|
|
20
|
+
- name: Checkout code
|
|
21
|
+
uses: actions/checkout@v4
|
|
22
|
+
with:
|
|
23
|
+
persist-credentials: false
|
|
24
|
+
|
|
25
|
+
- name: Run analysis
|
|
26
|
+
uses: ossf/scorecard-action@v2.4.0
|
|
27
|
+
with:
|
|
28
|
+
results_file: results.sarif
|
|
29
|
+
results_format: sarif
|
|
30
|
+
publish_results: true
|
|
31
|
+
|
|
32
|
+
- name: Upload to code-scanning
|
|
33
|
+
uses: github/codeql-action/upload-sarif@v3
|
|
34
|
+
with:
|
|
35
|
+
sarif_file: results.sarif
|
package/.nvmrc
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
20
|
package/.prettierrc
ADDED
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
All notable changes to this project will be documented in this file.
|
|
4
|
+
|
|
5
|
+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
|
6
|
+
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
|
+
|
|
8
|
+
## [1.0.1] - 2026-01-06
|
|
9
|
+
|
|
10
|
+
### Fixed
|
|
11
|
+
- Fixed npm package execution (added bin entry and compiled TypeScript)
|
|
12
|
+
|
|
13
|
+
### Added
|
|
14
|
+
- CI/CD workflows for automated testing and publishing
|
|
15
|
+
- CodeQL security scanning
|
|
16
|
+
- OpenSSF Scorecard analysis
|
|
17
|
+
- Dependabot configuration
|
|
18
|
+
- Issue and PR templates
|
|
19
|
+
- Security policy and code of conduct
|
|
20
|
+
|
|
21
|
+
## [1.0.0] - 2026-01-05
|
|
22
|
+
|
|
23
|
+
### Added
|
|
24
|
+
- Initial release
|
|
25
|
+
- Full MCP server implementation
|
|
26
|
+
- MIT license
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# Code of Conduct
|
|
2
|
+
|
|
3
|
+
## Our Pledge
|
|
4
|
+
|
|
5
|
+
We pledge to make participation in our community a harassment-free experience for everyone.
|
|
6
|
+
|
|
7
|
+
## Our Standards
|
|
8
|
+
|
|
9
|
+
**Positive behaviors:**
|
|
10
|
+
- Using welcoming and inclusive language
|
|
11
|
+
- Being respectful of differing viewpoints
|
|
12
|
+
- Gracefully accepting constructive criticism
|
|
13
|
+
- Focusing on what is best for the community
|
|
14
|
+
|
|
15
|
+
**Unacceptable behaviors:**
|
|
16
|
+
- Harassment, trolling, or personal attacks
|
|
17
|
+
- Publishing others' private information
|
|
18
|
+
- Other conduct which could reasonably be considered inappropriate
|
|
19
|
+
|
|
20
|
+
## Enforcement
|
|
21
|
+
|
|
22
|
+
Instances of abusive behavior may be reported to the project maintainers. All complaints will be reviewed and investigated promptly and fairly.
|
|
23
|
+
|
|
24
|
+
## Attribution
|
|
25
|
+
|
|
26
|
+
This Code of Conduct is adapted from the [Contributor Covenant](https://www.contributor-covenant.org), version 2.1.
|
package/CONTRIBUTING.md
ADDED
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
# Contributing
|
|
2
|
+
|
|
3
|
+
Thank you for your interest in contributing! We welcome contributions from the community.
|
|
4
|
+
|
|
5
|
+
## Getting Started
|
|
6
|
+
|
|
7
|
+
1. Fork the repository
|
|
8
|
+
2. Clone your fork: `git clone https://github.com/YOUR_USERNAME/REPO_NAME.git`
|
|
9
|
+
3. Create a branch: `git checkout -b feature/your-feature-name`
|
|
10
|
+
4. Make your changes
|
|
11
|
+
5. Test your changes
|
|
12
|
+
6. Commit: `git commit -m "Add your feature"`
|
|
13
|
+
7. Push: `git push origin feature/your-feature-name`
|
|
14
|
+
8. Open a Pull Request
|
|
15
|
+
|
|
16
|
+
## Development Setup
|
|
17
|
+
|
|
18
|
+
```bash
|
|
19
|
+
# Install dependencies
|
|
20
|
+
npm install
|
|
21
|
+
|
|
22
|
+
# Run in development mode
|
|
23
|
+
npm run dev
|
|
24
|
+
|
|
25
|
+
# Run tests
|
|
26
|
+
npm test
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
## Code Style
|
|
30
|
+
|
|
31
|
+
- Use meaningful variable and function names
|
|
32
|
+
- Add comments for complex logic
|
|
33
|
+
- Follow existing code patterns
|
|
34
|
+
- Keep functions small and focused
|
|
35
|
+
|
|
36
|
+
## Pull Request Guidelines
|
|
37
|
+
|
|
38
|
+
- Provide a clear description of the changes
|
|
39
|
+
- Reference any related issues
|
|
40
|
+
- Ensure all tests pass
|
|
41
|
+
- Update documentation if needed
|
|
42
|
+
|
|
43
|
+
## Reporting Issues
|
|
44
|
+
|
|
45
|
+
When reporting issues, please include:
|
|
46
|
+
|
|
47
|
+
- A clear description of the problem
|
|
48
|
+
- Steps to reproduce
|
|
49
|
+
- Expected vs actual behavior
|
|
50
|
+
- Environment details (OS, Node.js version, etc.)
|
|
51
|
+
|
|
52
|
+
## Code of Conduct
|
|
53
|
+
|
|
54
|
+
Be respectful and inclusive. We're all here to learn and build together.
|
|
55
|
+
|
|
56
|
+
## Questions?
|
|
57
|
+
|
|
58
|
+
Feel free to open an issue for any questions or discussions.
|
|
59
|
+
|
|
60
|
+
## License
|
|
61
|
+
|
|
62
|
+
By contributing, you agree that your contributions will be licensed under the MIT License.
|
package/Dockerfile
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
FROM node:20-alpine
|
|
2
|
+
|
|
3
|
+
WORKDIR /app
|
|
4
|
+
|
|
5
|
+
# Copy package files
|
|
6
|
+
COPY package*.json ./
|
|
7
|
+
|
|
8
|
+
# Install dependencies
|
|
9
|
+
RUN npm ci --only=production
|
|
10
|
+
|
|
11
|
+
# Copy source
|
|
12
|
+
COPY . .
|
|
13
|
+
|
|
14
|
+
# Build if needed
|
|
15
|
+
RUN npm run build --if-present
|
|
16
|
+
|
|
17
|
+
# Run the server
|
|
18
|
+
CMD ["node", "dist/index.js"]
|
package/README.md
CHANGED
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
[](https://opensource.org/licenses/MIT)
|
|
2
|
+
|
|
3
|
+
[](https://www.npmjs.com/package/@purplesquirrel/volcengine-mcp) [](https://www.npmjs.com/package/@purplesquirrel/volcengine-mcp) [](https://opensource.org/licenses/MIT)
|
|
4
|
+
|
|
2
5
|
[](https://modelcontextprotocol.io)
|
|
3
6
|
[](https://www.volcengine.com)
|
|
4
7
|
[](https://github.com/PurpleSquirrelMedia/volcengine-mcp/actions/workflows/ci.yml)
|
|
8
|
+
[](https://securityscorecards.dev/viewer/?uri=github.com/PurpleSquirrelMedia/volcengine-mcp)
|
|
5
9
|
|
|
6
10
|
# Volcano Engine MCP Server
|
|
7
11
|
|
|
@@ -162,3 +166,14 @@ Matthew Karsten
|
|
|
162
166
|
## License
|
|
163
167
|
|
|
164
168
|
MIT
|
|
169
|
+
|
|
170
|
+
|
|
171
|
+
## 💜 Support This Project
|
|
172
|
+
|
|
173
|
+
If this MCP server is useful to you, consider supporting its development:
|
|
174
|
+
|
|
175
|
+
[](https://github.com/sponsors/PurpleSquirrelMedia)
|
|
176
|
+
[](https://buymeacoffee.com/purplesquirrel)
|
|
177
|
+
|
|
178
|
+
**Enterprise support available** - [Contact us](mailto:enterprise@purplesquirrel.media) for SLAs, custom development, and priority support.
|
|
179
|
+
|
package/SECURITY.md
ADDED
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
# Security Policy
|
|
2
|
+
|
|
3
|
+
## Supported Versions
|
|
4
|
+
|
|
5
|
+
| Version | Supported |
|
|
6
|
+
| ------- | ------------------ |
|
|
7
|
+
| 1.x.x | :white_check_mark: |
|
|
8
|
+
|
|
9
|
+
## Reporting a Vulnerability
|
|
10
|
+
|
|
11
|
+
We take security seriously. If you discover a security vulnerability, please report it responsibly.
|
|
12
|
+
|
|
13
|
+
### How to Report
|
|
14
|
+
|
|
15
|
+
1. **Do NOT open a public issue** for security vulnerabilities
|
|
16
|
+
2. Email security concerns to: security@purplesquirrel.media
|
|
17
|
+
3. Or use GitHub's private vulnerability reporting feature
|
|
18
|
+
|
|
19
|
+
### What to Include
|
|
20
|
+
|
|
21
|
+
- Description of the vulnerability
|
|
22
|
+
- Steps to reproduce
|
|
23
|
+
- Potential impact
|
|
24
|
+
- Suggested fix (if any)
|
|
25
|
+
|
|
26
|
+
### Response Timeline
|
|
27
|
+
|
|
28
|
+
- **Initial response**: Within 48 hours
|
|
29
|
+
- **Status update**: Within 1 week
|
|
30
|
+
- **Fix timeline**: Depends on severity, typically within 30 days
|
|
31
|
+
|
|
32
|
+
### Recognition
|
|
33
|
+
|
|
34
|
+
We appreciate responsible disclosure and will acknowledge security researchers who report valid vulnerabilities.
|
package/index.js
CHANGED
|
File without changes
|
package/package.json
CHANGED
|
@@ -1,11 +1,15 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@purplesquirrel/volcengine-mcp",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.3",
|
|
4
4
|
"description": "MCP server for ByteDance Volcano Engine (Doubao) integration with Claude Code",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"type": "module",
|
|
7
|
+
"bin": {
|
|
8
|
+
"volcengine-mcp": "./index.js"
|
|
9
|
+
},
|
|
7
10
|
"scripts": {
|
|
8
|
-
"start": "node index.js"
|
|
11
|
+
"start": "node index.js",
|
|
12
|
+
"prepare": "husky install || true"
|
|
9
13
|
},
|
|
10
14
|
"keywords": [
|
|
11
15
|
"mcp",
|
|
@@ -20,5 +24,17 @@
|
|
|
20
24
|
"license": "MIT",
|
|
21
25
|
"dependencies": {
|
|
22
26
|
"@modelcontextprotocol/sdk": "^1.24.0"
|
|
27
|
+
},
|
|
28
|
+
"engines": {
|
|
29
|
+
"node": ">=18.0.0"
|
|
30
|
+
},
|
|
31
|
+
"devDependencies": {
|
|
32
|
+
"husky": "^9.0.0",
|
|
33
|
+
"lint-staged": "^15.0.0",
|
|
34
|
+
"prettier": "^3.0.0"
|
|
35
|
+
},
|
|
36
|
+
"repository": {
|
|
37
|
+
"type": "git",
|
|
38
|
+
"url": "https://github.com/PurpleSquirrelMedia/volcengine-mcp"
|
|
23
39
|
}
|
|
24
40
|
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Smoke test - verifies the package can be imported
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
const { spawn } = require('child_process');
|
|
8
|
+
const path = require('path');
|
|
9
|
+
|
|
10
|
+
async function test() {
|
|
11
|
+
console.log('Running smoke test...');
|
|
12
|
+
|
|
13
|
+
// Test 1: Package can be required
|
|
14
|
+
try {
|
|
15
|
+
const pkg = require('./package.json');
|
|
16
|
+
console.log(`✓ Package ${pkg.name}@${pkg.version} loaded`);
|
|
17
|
+
} catch (err) {
|
|
18
|
+
console.error('✗ Failed to load package.json');
|
|
19
|
+
process.exit(1);
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
// Test 2: Main entry point exists
|
|
23
|
+
try {
|
|
24
|
+
const main = require('.');
|
|
25
|
+
console.log('✓ Main entry point loaded');
|
|
26
|
+
} catch (err) {
|
|
27
|
+
console.error('✗ Failed to load main entry:', err.message);
|
|
28
|
+
process.exit(1);
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
console.log('All smoke tests passed!');
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
test();
|