Skip to content

Commit 5d5a470

Browse files
committed
Resolve merge conflict with main branch
2 parents ed1e537 + 59d3d02 commit 5d5a470

File tree

32 files changed

+2757
-551
lines changed

32 files changed

+2757
-551
lines changed

.github/workflows/claude.yml

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
name: Claude Code
2+
3+
on:
4+
issue_comment:
5+
types: [created]
6+
pull_request_review_comment:
7+
types: [created]
8+
issues:
9+
types: [opened, assigned]
10+
pull_request_review:
11+
types: [submitted]
12+
13+
jobs:
14+
claude:
15+
if: |
16+
(github.event_name == 'issue_comment' && contains(github.event.comment.body, '@claude')) ||
17+
(github.event_name == 'pull_request_review_comment' && contains(github.event.comment.body, '@claude')) ||
18+
(github.event_name == 'pull_request_review' && contains(github.event.review.body, '@claude')) ||
19+
(github.event_name == 'issues' && (contains(github.event.issue.body, '@claude') || contains(github.event.issue.title, '@claude')))
20+
runs-on: ubuntu-latest
21+
permissions:
22+
contents: read
23+
pull-requests: read
24+
issues: read
25+
id-token: write
26+
actions: read
27+
steps:
28+
- name: Checkout repository
29+
uses: actions/checkout@v4
30+
with:
31+
fetch-depth: 1
32+
33+
- name: Run Claude Code
34+
id: claude
35+
uses: anthropics/claude-code-action@beta
36+
with:
37+
anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
38+
39+
# Allow Claude to read CI results on PRs
40+
additional_permissions: |
41+
actions: read
42+
43+
# Trigger when assigned to an issue
44+
assignee_trigger: "claude"
45+
46+
# Allow Claude to run bash
47+
# This should be safe given the repo is already public
48+
allowed_tools: "Bash"
49+
50+
custom_instructions: |
51+
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.

.github/workflows/python.yml

Lines changed: 38 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,45 @@ jobs:
2323
PACKAGES=$(find . -name pyproject.toml -exec dirname {} \; | sed 's/^\.\///' | jq -R -s -c 'split("\n")[:-1]')
2424
echo "packages=$PACKAGES" >> $GITHUB_OUTPUT
2525
26-
build:
26+
test:
2727
needs: [detect-packages]
28+
strategy:
29+
matrix:
30+
package: ${{ fromJson(needs.detect-packages.outputs.packages) }}
31+
name: Test ${{ matrix.package }}
32+
runs-on: ubuntu-latest
33+
steps:
34+
- uses: actions/checkout@v4
35+
36+
- name: Install uv
37+
uses: astral-sh/setup-uv@v3
38+
39+
- name: Set up Python
40+
uses: actions/setup-python@v5
41+
with:
42+
python-version-file: "src/${{ matrix.package }}/.python-version"
43+
44+
- name: Install dependencies
45+
working-directory: src/${{ matrix.package }}
46+
run: uv sync --frozen --all-extras --dev
47+
48+
- name: Check if tests exist
49+
id: check-tests
50+
working-directory: src/${{ matrix.package }}
51+
run: |
52+
if [ -d "tests" ] || [ -d "test" ] || grep -q "pytest" pyproject.toml; then
53+
echo "has-tests=true" >> $GITHUB_OUTPUT
54+
else
55+
echo "has-tests=false" >> $GITHUB_OUTPUT
56+
fi
57+
58+
- name: Run tests
59+
if: steps.check-tests.outputs.has-tests == 'true'
60+
working-directory: src/${{ matrix.package }}
61+
run: uv run pytest
62+
63+
build:
64+
needs: [detect-packages, test]
2865
strategy:
2966
matrix:
3067
package: ${{ fromJson(needs.detect-packages.outputs.packages) }}

.github/workflows/release.yml

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -104,6 +104,7 @@ jobs:
104104
105105
publish-pypi:
106106
needs: [update-packages, create-metadata]
107+
if: ${{ needs.create-metadata.outputs.pypi_packages != '[]' && needs.create-metadata.outputs.pypi_packages != '' }}
107108
strategy:
108109
fail-fast: false
109110
matrix:
@@ -145,6 +146,7 @@ jobs:
145146

146147
publish-npm:
147148
needs: [update-packages, create-metadata]
149+
if: ${{ needs.create-metadata.outputs.npm_packages != '[]' && needs.create-metadata.outputs.npm_packages != '' }}
148150
strategy:
149151
fail-fast: false
150152
matrix:
@@ -212,10 +214,3 @@ jobs:
212214
--title "Release $VERSION" \
213215
--notes-file RELEASE_NOTES.md
214216
215-
- name: Docker MCP images
216-
uses: peter-evans/repository-dispatch@v3
217-
with:
218-
token: ${{ secrets.DOCKER_TOKEN }}
219-
repository: docker/labs-ai-tools-for-devs
220-
event-type: build-mcp-images
221-
client-payload: '{"ref": "${{ needs.create-metadata.outputs.version }}"}'

.vscode/settings.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
{}

LICENSE

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
MIT License
22

3-
Copyright (c) 2024 Anthropic, PBC
3+
Copyright (c) 2025 Anthropic, PBC
44

55
Permission is hereby granted, free of charge, to any person obtaining a copy
66
of this software and associated documentation files (the "Software"), to deal

README.md

Lines changed: 413 additions & 88 deletions
Large diffs are not rendered by default.

package-lock.json

Lines changed: 5 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/everything/README.md

Lines changed: 36 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -27,24 +27,24 @@ This MCP server attempts to exercise all the features of the MCP protocol. It is
2727
- Returns: Completion message with duration and steps
2828
- Sends progress notifications during execution
2929

30-
4. `sampleLLM`
30+
4. `printEnv`
31+
- Prints all environment variables
32+
- Useful for debugging MCP server configuration
33+
- No inputs required
34+
- Returns: JSON string of all environment variables
35+
36+
5. `sampleLLM`
3137
- Demonstrates LLM sampling capability using MCP sampling feature
3238
- Inputs:
3339
- `prompt` (string): The prompt to send to the LLM
3440
- `maxTokens` (number, default: 100): Maximum tokens to generate
3541
- Returns: Generated LLM response
3642

37-
5. `getTinyImage`
43+
6. `getTinyImage`
3844
- Returns a small test image
3945
- No inputs required
4046
- Returns: Base64 encoded PNG image data
4147

42-
6. `printEnv`
43-
- Prints all environment variables
44-
- Useful for debugging MCP server configuration
45-
- No inputs required
46-
- Returns: JSON string of all environment variables
47-
4848
7. `annotatedMessage`
4949
- Demonstrates how annotations can be used to provide metadata about content
5050
- Inputs:
@@ -72,6 +72,23 @@ This MCP server attempts to exercise all the features of the MCP protocol. It is
7272
- Embedded resource with `type: "resource"`
7373
- Text instruction for using the resource URI
7474

75+
9. `startElicitation`
76+
- Initiates an elicitation (interaction) within the MCP client.
77+
- Inputs:
78+
- `color` (string): Favorite color
79+
- `number` (number, 1-100): Favorite number
80+
- `pets` (enum): Favorite pet
81+
- Returns: Confirmation of the elicitation demo with selection summary.
82+
83+
10. `structuredContent`
84+
- Demonstrates a tool returning structured content using the example in the specification
85+
- Provides an output schema to allow testing of client SHOULD advisory to validate the result using the schema
86+
- Inputs:
87+
- `location` (string): A location or ZIP code, mock data is returned regardless of value
88+
- Returns: a response with
89+
- `structuredContent` field conformant to the output schema
90+
- A backward compatible Text Content field, a SHOULD advisory in the specification
91+
7592
### Resources
7693

7794
The server provides 100 test resources in two formats:
@@ -152,22 +169,24 @@ For quick installation, use of of the one-click install buttons below...
152169

153170
[![Install with Docker in VS Code](https://img.shields.io/badge/VS_Code-Docker-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://insiders.vscode.dev/redirect/mcp/install?name=everything&config=%7B%22command%22%3A%22docker%22%2C%22args%22%3A%5B%22run%22%2C%22-i%22%2C%22--rm%22%2C%22mcp%2Feverything%22%5D%7D) [![Install with Docker in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Docker-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](https://insiders.vscode.dev/redirect/mcp/install?name=everything&config=%7B%22command%22%3A%22docker%22%2C%22args%22%3A%5B%22run%22%2C%22-i%22%2C%22--rm%22%2C%22mcp%2Feverything%22%5D%7D&quality=insiders)
154171

155-
For manual installation, add the following JSON block to your User Settings (JSON) file in VS Code. You can do this by pressing `Ctrl + Shift + P` and typing `Preferences: Open User Settings (JSON)`.
172+
For manual installation, you can configure the MCP server using one of these methods:
173+
174+
**Method 1: User Configuration (Recommended)**
175+
Add the configuration to your user-level MCP configuration file. Open the Command Palette (`Ctrl + Shift + P`) and run `MCP: Open User Configuration`. This will open your user `mcp.json` file where you can add the server configuration.
156176

157-
Optionally, you can add it to a file called `.vscode/mcp.json` in your workspace. This will allow you to share the configuration with others.
177+
**Method 2: Workspace Configuration**
178+
Alternatively, you can add the configuration to a file called `.vscode/mcp.json` in your workspace. This will allow you to share the configuration with others.
158179

159-
> Note that the `mcp` key is not needed in the `.vscode/mcp.json` file.
180+
> For more details about MCP configuration in VS Code, see the [official VS Code MCP documentation](https://code.visualstudio.com/docs/copilot/mcp).
160181
161182
#### NPX
162183

163184
```json
164185
{
165-
"mcp": {
166-
"servers": {
167-
"everything": {
168-
"command": "npx",
169-
"args": ["-y", "@modelcontextprotocol/server-everything"]
170-
}
186+
"servers": {
187+
"everything": {
188+
"command": "npx",
189+
"args": ["-y", "@modelcontextprotocol/server-everything"]
171190
}
172191
}
173192
}

0 commit comments

Comments
 (0)