Skip to content

chore(deps): bump openapi-mcp-server from 1.2.0-beta05 to 2.0.3 in /examples/servers/cat-facts #167

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 30 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,26 @@ updates:
prefix: "chore(deps)"
rebase-strategy: "disabled"

- package-ecosystem: pip
directory: "/examples/servers/mcpdoc"
schedule:
interval: monthly
open-pull-requests-limit: 10
versioning-strategy: increase
commit-message:
prefix: "chore(deps)"
rebase-strategy: "disabled"

- package-ecosystem: pip
directory: "/examples/servers/mcpdoc/function"
schedule:
interval: monthly
open-pull-requests-limit: 10
versioning-strategy: increase
commit-message:
prefix: "chore(deps)"
rebase-strategy: "disabled"

- package-ecosystem: npm
directory: "/src/typescript"
schedule:
Expand Down Expand Up @@ -80,6 +100,16 @@ updates:
prefix: "chore(deps)"
rebase-strategy: "disabled"

- package-ecosystem: npm
directory: "/examples/servers/cat-facts"
schedule:
interval: monthly
open-pull-requests-limit: 10
versioning-strategy: increase
commit-message:
prefix: "chore(deps)"
rebase-strategy: "disabled"

- package-ecosystem: npm
directory: "/e2e_tests/typescript"
schedule:
Expand Down
78 changes: 78 additions & 0 deletions .github/workflows/cdk-checks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,42 @@ jobs:
env:
CDK_DEFAULT_ACCOUNT: "000000000000"

check_mcpdoc_server:
name: Check Python-based MCP Doc Server
runs-on: ubuntu-latest
permissions:
contents: read
timeout-minutes: 15
steps:
- uses: actions/checkout@v4

- name: "Set up Typescript"
uses: actions/setup-node@v4
with:
node-version: 20

- name: "Set up Python"
uses: actions/setup-python@v5
with:
python-version-file: "src/python/.python-version"

- name: Install CDK CLI
run: npm install -g aws-cdk

- name: Install dependencies
run: pip install -r requirements.txt
working-directory: ./examples/servers/mcpdoc

- uses: pypa/gh-action-pip-audit@v1.1.0
with:
inputs: ./examples/servers/mcpdoc/requirements.txt

- name: Synthesize CDK stack
run: cdk synth --app 'python3 cdk_stack.py'
working-directory: ./examples/servers/mcpdoc
env:
CDK_DEFAULT_ACCOUNT: "000000000000"

check_weather_alerts_server:
name: Check Typescript-based Weather Alerts Server
runs-on: ubuntu-latest
Expand Down Expand Up @@ -81,3 +117,45 @@ jobs:
working-directory: ./examples/servers/weather-alerts
env:
CDK_DEFAULT_ACCOUNT: "000000000000"

check_cat_facts_server:
name: Check Typescript-based Cat Facts Server
runs-on: ubuntu-latest
permissions:
contents: read
timeout-minutes: 15
steps:
- uses: actions/checkout@v4

- name: "Set up Typescript"
uses: actions/setup-node@v4
with:
node-version: 20

- name: Install CDK CLI
run: npm install -g aws-cdk

- name: Build and link local package
run: |
npm ci
npm audit --audit-level critical
npm run build
npm link
working-directory: ./src/typescript

- name: Install dependencies
run: |
npm ci
npm audit --audit-level critical
npm link @aws/run-mcp-servers-with-aws-lambda
working-directory: ./examples/servers/cat-facts

- name: Build
run: npm run build
working-directory: ./examples/servers/cat-facts

- name: Synthesize CDK stack
run: cdk synth --app 'node lib/cat-facts-mcp-server.js'
working-directory: ./examples/servers/cat-facts
env:
CDK_DEFAULT_ACCOUNT: "000000000000"
2 changes: 2 additions & 0 deletions .mergify.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,9 @@ queue_rules:
- status-success=Check Python library
- status-success=Check Typescript library
- status-success=Check Python-based Time Server
- status-success=Check Python-based MCP Doc Server
- status-success=Check Typescript-based Weather Alerts Server
- status-success=Check Typescript-based Cat Facts Server
- status-success=Check Typescript chatbot
merge_method: squash

Expand Down
6 changes: 6 additions & 0 deletions e2e_tests/clean_up_integ_test.sh
Original file line number Diff line number Diff line change
Expand Up @@ -15,5 +15,11 @@ export INTEG_TEST_ID=$(cat e2e_tests/integ-test-id)
cd examples/servers/time
cdk destroy --force --app 'python3 cdk_stack.py'

cd ../mcpdoc
cdk destroy --force --app 'python3 cdk_stack.py'

cd ../weather-alerts/
cdk destroy --force --app 'node lib/weather-alerts-mcp-server.js'

cd ../cat-facts/
cdk destroy --force --app 'node lib/cat-facts-mcp-server.js'
2 changes: 2 additions & 0 deletions e2e_tests/python/main.py
Original file line number Diff line number Diff line change
Expand Up @@ -79,6 +79,8 @@ async def main() -> None:
"Hello!",
"What is the current time in Seattle?",
"Are there any weather alerts right now?",
"What documentation sources can you use to answer questions?",
"Tell me a cat fact.",
"Who is Tom Cruise?",
]
chat_session = ChatSession(servers, llm_client, user_utterances)
Expand Down
12 changes: 12 additions & 0 deletions e2e_tests/run_integ_test.sh
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,11 @@ cd ../../examples/servers/time
uv pip install -r requirements.txt
cdk deploy --app 'python3 cdk_stack.py'

# Deploy Python-based mcpdoc MCP server
cd ../mcpdoc
uv pip install -r requirements.txt
cdk deploy --app 'python3 cdk_stack.py'

# Deploy Typescript-based example MCP server
cd ../../../src/typescript/
npm ci
Expand All @@ -29,6 +34,13 @@ npm link @aws/run-mcp-servers-with-aws-lambda
npm run build
cdk deploy --app 'node lib/weather-alerts-mcp-server.js'

# Deploy Typescript-based cat-facts MCP server
cd ../cat-facts/
npm ci
npm link @aws/run-mcp-servers-with-aws-lambda
npm run build
cdk deploy --app 'node lib/cat-facts-mcp-server.js'

# Configure integ tests
cd ../../../e2e_tests/
sed "s/INTEG_TEST_ID/$INTEG_TEST_ID/g" servers_config.integ.json > python/servers_config.json
Expand Down
8 changes: 8 additions & 0 deletions e2e_tests/servers_config.integ.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,14 @@
"weatherAlerts": {
"functionName": "mcp-server-weather-alerts-INTEG_TEST_ID",
"region": "us-east-2"
},
"mcpdoc": {
"functionName": "mcp-server-mcpdoc-INTEG_TEST_ID",
"region": "us-east-2"
},
"catFacts": {
"functionName": "mcp-server-cat-facts-INTEG_TEST_ID",
"region": "us-east-2"
}
}
}
2 changes: 2 additions & 0 deletions e2e_tests/typescript/src/main.ts
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,8 @@ async function main(): Promise<void> {
"Hello!",
"What is the current time in Seattle?",
"Are there any weather alerts right now?",
"What documentation sources can you use to answer questions?",
"Tell me a cat fact.",
"Who is Tom Cruise?",
];

Expand Down
8 changes: 8 additions & 0 deletions examples/chatbots/python/servers_config.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,14 @@
"weatherAlerts": {
"functionName": "mcp-server-weather-alerts",
"region": "us-east-2"
},
"mcpdoc": {
"functionName": "mcp-server-mcpdoc",
"region": "us-east-2"
},
"catFacts": {
"functionName": "mcp-server-cat-facts",
"region": "us-east-2"
}
}
}
8 changes: 8 additions & 0 deletions examples/chatbots/typescript/servers_config.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,14 @@
"weatherAlerts": {
"functionName": "mcp-server-weather-alerts",
"region": "us-east-2"
},
"mcpdoc": {
"functionName": "mcp-server-mcpdoc",
"region": "us-east-2"
},
"catFacts": {
"functionName": "mcp-server-cat-facts",
"region": "us-east-2"
}
}
}
6 changes: 6 additions & 0 deletions examples/servers/cat-facts/.npmignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
*.ts
!*.d.ts

# CDK asset staging directory
.cdk.staging
cdk.out
21 changes: 21 additions & 0 deletions examples/servers/cat-facts/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
Sample inputs:

```bash
$ npm run build
$ export LOG_LEVEL=debug

# Initialize
$ node -e 'require("./lib/cat-facts-mcp-server.function.js").handler({"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{"roots":{"listChanged":true}},"clientInfo":{"name":"mcp","version":"0.1.0"}},"jsonrpc":"2.0","id":0}, "")'

# List tools
$ node -e 'require("./lib/cat-facts-mcp-server.function.js").handler({"method":"tools/list","params":{"clientInfo":{"name":"mcp","version":"0.1.0"}},"jsonrpc":"2.0","id":0}, "")'

# Get a random cat fact
$ node -e 'require("./lib/cat-facts-mcp-server.function.js").handler({"method":"tools/call","params":{"name":"getRandomFact","arguments":{}},"jsonrpc":"2.0","id":0}, "")'

# Get cat breeds
$ node -e 'require("./lib/cat-facts-mcp-server.function.js").handler({"method":"tools/call","params":{"name":"getBreeds","arguments":{"limit":5}},"jsonrpc":"2.0","id":0}, "")'

# Get multiple cat facts
$ node -e 'require("./lib/cat-facts-mcp-server.function.js").handler({"method":"tools/call","params":{"name":"getFacts","arguments":{"limit":3,"max_length":100}},"jsonrpc":"2.0","id":0}, "")'
```
Loading
Loading