Skip to content

Commit 54419c7

Browse files
authored
Initial commit
0 parents  commit 54419c7

Some content is hidden

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

54 files changed

+2860
-0
lines changed
Lines changed: 139 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,139 @@
1+
name: "🐛 Bug Report"
2+
description: Create a new ticket for a bug in mcpstack-tool-builder.
3+
title: "🐛 [BUG] - <title>"
4+
labels:
5+
- "bug"
6+
body:
7+
- type: markdown
8+
attributes:
9+
value: |
10+
<p align="center">
11+
<img src="https://github.com/MCP-Pipeline/MCPStack-Tool-Builder/raw/main/assets/COVER.png" alt="COVER">
12+
<br>
13+
<em>mcpstack-tool-builder project</em>
14+
</p>
15+
- type: checkboxes
16+
id: checks
17+
attributes:
18+
label: "Before Submitting"
19+
description: Please confirm the following to help us process your issue in a timely manner.
20+
options:
21+
- label: I have checked the documentation and existing issues.
22+
required: true
23+
- type: textarea
24+
id: description
25+
attributes:
26+
label: "Description"
27+
description: Please provide a clear and concise description of the bug.
28+
placeholder: "Hint: ‘brevity is the soul of wit’, Hamlet — by William Shakespeare"
29+
validations:
30+
required: true
31+
- type: input
32+
id: reprod-url
33+
attributes:
34+
label: "Reproduction URL"
35+
description: "If you’ve forked mcpstack-tool-builder, provide a GitHub URL or repository link to reproduce the issue."
36+
placeholder: "Hint: Optional, but it helps us resolve the issue faster. Leave empty if not applicable."
37+
validations:
38+
required: false
39+
- type: textarea
40+
id: reprod
41+
attributes:
42+
label: "Reproduction Steps"
43+
description: "List the steps to reproduce the bug. The more detailed, the better!"
44+
value: |
45+
1. Install deps: `uv sync && uv run pre-commit install`
46+
2. Run: `X`
47+
3. Observe: <what happened>
48+
render: bash
49+
validations:
50+
required: true
51+
- type: markdown
52+
attributes:
53+
value: "### Environment Information"
54+
- type: dropdown
55+
id: os
56+
attributes:
57+
label: "Operating System"
58+
description: What operating system were you using when the bug occurred?
59+
options:
60+
- "Windows"
61+
- "Linux"
62+
- "Mac"
63+
- "Other"
64+
- type: input
65+
id: other-os
66+
attributes:
67+
label: "Other Operating System"
68+
description: "Only fill this if you selected 'Other' in the Operating System dropdown."
69+
placeholder: "e.g., Ubuntu 22.04"
70+
validations:
71+
required: false
72+
- type: dropdown
73+
id: backend
74+
attributes:
75+
label: "MCP Backend Area"
76+
description: Which area were you using when the bug occurred?
77+
options:
78+
- "Tool Registry"
79+
- "Protocol/Server"
80+
- "CLI"
81+
- "Other"
82+
- type: input
83+
id: other-backend
84+
attributes:
85+
label: "Other Backend"
86+
description: "Only fill this if you selected 'Other' in the previous dropdown."
87+
placeholder: "e.g., Custom Adapter"
88+
validations:
89+
required: false
90+
- type: dropdown
91+
id: mcp-client
92+
attributes:
93+
label: "MCP Client"
94+
description: Which MCP client were you using (if applicable)?
95+
options:
96+
- "Claude Desktop"
97+
- "Other"
98+
- type: input
99+
id: other-mcp-client
100+
attributes:
101+
label: "Other MCP Client"
102+
description: "Only fill this if you selected 'Other' in the MCP Client dropdown."
103+
placeholder: "e.g., Custom Client"
104+
validations:
105+
required: false
106+
- type: dropdown
107+
id: authentication
108+
attributes:
109+
label: "Authentication"
110+
description: Were you using OAuth2 authentication when the bug occurred?
111+
options:
112+
- "Yes"
113+
- "No"
114+
- type: input
115+
id: python-version
116+
attributes:
117+
label: "Python Version"
118+
validations:
119+
required: true
120+
- type: input
121+
id: tool-version
122+
attributes:
123+
label: "mcpstack-tool-builder Version"
124+
description: What version are you using? If cloned, paste the commit SHA.
125+
placeholder: "e.g., 0.1.0"
126+
validations:
127+
required: true
128+
- type: textarea
129+
id: additional-info
130+
attributes:
131+
label: "Additional Information"
132+
description: "In case none of the above options fit your case, please provide additional information."
133+
placeholder: "... write here ..."
134+
validations:
135+
required: false
136+
- type: markdown
137+
attributes:
138+
value: |
139+
**Security Note:** Please do not share sensitive information such as authentication tokens, personal data, or confidential project details in this report.

.github/ISSUE_TEMPLATE/config.yml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
blank_issues_enabled: false
2+
contact_links:
3+
- name: Security Disclosure
4+
url: https://github.com/<you>/mcpstack-tool/security/policy
5+
about: Please report security vulnerabilities responsibly.
Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
name: "💡 Feature Request"
2+
description: Suggest a new feature or enhancement for mcpstack-tool-builder.
3+
title: "💡 [FEAT] - <title>"
4+
labels:
5+
- "feature"
6+
body:
7+
- type: markdown
8+
attributes:
9+
value: |
10+
<p align="center">
11+
<img src="https://github.com/MCP-Pipeline/MCPStack-Tool-Builder/raw/main/assets/COVER.png" alt="COVER">
12+
<br>
13+
<em>mcpstack-tool-builder project</em>
14+
</p>
15+
- type: checkboxes
16+
id: checks
17+
attributes:
18+
label: "Before Submitting"
19+
description: Please confirm the following to help us process your request efficiently.
20+
options:
21+
- label: I have checked if this feature already exists or has been requested.
22+
required: true
23+
- type: textarea
24+
id: feature-description
25+
attributes:
26+
label: "Feature Description"
27+
description: Please provide a clear and concise description of the feature you are requesting.
28+
placeholder: "Hint: ‘brevity is the soul of wit’, Hamlet — by William Shakespeare"
29+
validations:
30+
required: true
31+
- type: textarea
32+
id: proposed-solution
33+
attributes:
34+
label: "Proposed Solution"
35+
description: Describe how you envision this feature working.
36+
placeholder: "Explain how the feature should function."
37+
validations:
38+
required: true
39+
- type: textarea
40+
id: examples
41+
attributes:
42+
label: "Examples or References"
43+
description: Provide any examples, links, or references that might help illustrate your request.
44+
placeholder: "Optional, e.g., screenshots, links to similar features in other projects, etc."
45+
validations:
46+
required: false
47+
- type: dropdown
48+
id: contribution
49+
attributes:
50+
label: "Willing to Contribute?"
51+
description: Would you be willing to help implement this feature?
52+
options:
53+
- "Yes"
54+
- "No"
55+
- type: markdown
56+
attributes:
57+
value: |
58+
**Security Note:** Please do not share sensitive information such as authentication tokens, personal data, or confidential project details in this request.
Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
name: "❓ Ask a Question"
2+
description: Ask a question about mcpstack-tool-builder.
3+
title: "❓ [QUESTION] - <title>"
4+
labels:
5+
- "question"
6+
body:
7+
- type: markdown
8+
attributes:
9+
value: |
10+
<p align="center">
11+
<img src="https://github.com/MCP-Pipeline/MCPStack-Tool-Builder/raw/main/assets/COVER.png" alt="COVER">
12+
<br>
13+
<em>mcpstack-tool-builder project</em>
14+
</p>
15+
- type: checkboxes
16+
id: checks
17+
attributes:
18+
label: "Before Submitting"
19+
description: Please confirm the following to help us answer your question efficiently.
20+
options:
21+
- label: I have checked the documentation and existing issues.
22+
required: true
23+
- type: textarea
24+
id: question
25+
attributes:
26+
label: "Question"
27+
description: Please provide a clear and concise question.
28+
placeholder: "Hint: ‘brevity is the soul of wit’, Hamlet — by William Shakespeare"
29+
validations:
30+
required: true
31+
- type: textarea
32+
id: context
33+
attributes:
34+
label: "Additional Context"
35+
description: Provide any additional context or details that might help answer your question.
36+
placeholder: "Optional, e.g., code snippets, error messages, etc."
37+
validations:
38+
required: false
39+
- type: input
40+
id: project-area
41+
attributes:
42+
label: "Project Area"
43+
description: Specify the area your question relates to.
44+
placeholder: "Optional, e.g., CLI, protocol, presets, adapters, etc."
45+
validations:
46+
required: false
47+
- type: markdown
48+
attributes:
49+
value: |
50+
**Security Note:** Please do not share sensitive information such as authentication tokens, personal data, or confidential project details in this question.

.github/workflows/pre-commit.yaml

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
name: Pre-commit checks
2+
3+
on:
4+
push:
5+
branches: [main]
6+
pull_request:
7+
branches: [main]
8+
9+
jobs:
10+
pre-commit:
11+
runs-on: ubuntu-latest
12+
steps:
13+
- uses: actions/checkout@v4
14+
with:
15+
fetch-depth: 0
16+
17+
- name: Install UV and Python
18+
uses: astral-sh/setup-uv@v5
19+
with:
20+
version: "latest"
21+
python-version: "3.11"
22+
- name: Symlink uv to expected path for pre-commit-uv
23+
run: |
24+
mkdir -p ~/.local/bin
25+
ln -s $(which uv) ~/.local/bin/uv
26+
- run: uv venv
27+
- run: uv sync --dev
28+
- run: uv add pytest==7.4.3
29+
- uses: tox-dev/action-pre-commit-uv@v1
30+
with:
31+
extra_args: --all-files

.github/workflows/tests.yaml

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
name: Tests
2+
3+
on:
4+
push:
5+
branches: [main]
6+
pull_request:
7+
8+
jobs:
9+
test:
10+
runs-on: ubuntu-latest
11+
strategy:
12+
matrix:
13+
python-version: ["3.10", "3.12"]
14+
15+
steps:
16+
- uses: actions/checkout@v4
17+
18+
- name: Install UV and Python
19+
uses: astral-sh/setup-uv@v5
20+
with:
21+
version: "latest"
22+
python-version: ${{ matrix.python-version }}
23+
24+
- name: Create virtual environment
25+
run: uv venv
26+
27+
- name: Install dependencies
28+
run: |
29+
uv sync --all-groups
30+
uv add pytest==7.4.3
31+
32+
- name: Run tests
33+
run: uv run pytest -v

.gitignore

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
# Byte-compiled / optimized / DLL files
2+
__pycache__/
3+
*.py[cod]
4+
*$py.class
5+
6+
# Distribution / packaging
7+
.Python
8+
build/
9+
develop-eggs/
10+
dist/
11+
downloads/
12+
eggs/
13+
.eggs/
14+
lib/
15+
lib64/
16+
parts/
17+
sdist/
18+
var/
19+
*.egg-info/
20+
.installed.cfg
21+
*.egg
22+
wheelhouse/
23+
24+
# Virtual environments
25+
.env
26+
.venv
27+
ENV/
28+
env/
29+
venv/
30+
31+
# PyInstaller
32+
*.spec
33+
34+
# Unit test / coverage reports
35+
htmlcov/
36+
.tox/
37+
.nox/
38+
.coverage
39+
.coverage.*
40+
.cache
41+
nosetests.xml
42+
coverage.xml
43+
*.cover
44+
.hypothesis/
45+
46+
# Jupyter Notebook
47+
.ipynb_checkpoints
48+
49+
# pyenv
50+
.python-version
51+
52+
# mypy
53+
.mypy_cache/
54+
55+
# Ruff
56+
.ruff_cache/
57+
58+
# macOS
59+
.DS_Store
60+
61+
# IDEs
62+
.vscode/
63+
.idea/

0 commit comments

Comments
 (0)