Skip to content

Commit 6c31a1e

Browse files
feat: Progress (#45)
* Add progress tracker * Add test on PR workflow * Fix test delay
1 parent 9337116 commit 6c31a1e

49 files changed

Lines changed: 1263 additions & 418 deletions

Some content is hidden

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

.agents/AGENTS.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,11 @@ server.
2828
- After generating the tool, call the tool to actually test it.
2929
- When testing by calling the tool, prefer to not set the `jsRender` parameter.
3030

31+
# Releasing
32+
33+
- When bumping server versions, make sure all instances of the old server version are updated. These
34+
are in `package.json`, `server.json` and possibly in other files.
35+
3136
# Documentation
3237

3338
- Update readme with new tool, toolset and parameter information.

.github/workflows/pr.yml

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
name: Pull request
2+
3+
on:
4+
pull_request:
5+
types: [opened, synchronize, reopened]
6+
7+
concurrency:
8+
group: pr-${{ github.event.pull_request.number }}
9+
cancel-in-progress: true
10+
11+
jobs:
12+
test:
13+
runs-on: ubuntu-latest
14+
permissions:
15+
contents: read
16+
17+
steps:
18+
- name: Checkout
19+
uses: actions/checkout@v5
20+
21+
- name: Setup Node.js
22+
uses: actions/setup-node@v5
23+
with:
24+
node-version: 'lts/*'
25+
cache: npm
26+
27+
- name: Install dependencies
28+
run: npm ci
29+
30+
- name: Run unit tests
31+
run: npm test

.github/workflows/release.yml

Lines changed: 1 addition & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -11,56 +11,7 @@ concurrency:
1111
cancel-in-progress: false
1212

1313
jobs:
14-
semantic-release:
15-
runs-on: ubuntu-latest
16-
outputs:
17-
released: ${{ steps.release.outputs.released }}
18-
tag: ${{ steps.release.outputs.tag }}
19-
permissions:
20-
contents: write
21-
issues: write
22-
pull-requests: write
23-
id-token: write
24-
25-
steps:
26-
- name: Checkout
27-
uses: actions/checkout@v5
28-
with:
29-
fetch-depth: 0
30-
persist-credentials: true
31-
32-
- name: Setup Node.js
33-
uses: actions/setup-node@v5
34-
with:
35-
node-version: 'lts/*'
36-
registry-url: 'https://registry.npmjs.org'
37-
38-
- name: Install dependencies
39-
run: npm ci
40-
41-
- name: Build
42-
run: npm run build --if-present
43-
44-
- name: Semantic release
45-
id: release
46-
env:
47-
GH_TOKEN: ${{ secrets.GH_TOKEN }}
48-
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
49-
run: |
50-
set -e
51-
BEFORE=$(git describe --tags --abbrev=0 2>/dev/null || true)
52-
npx semantic-release
53-
AFTER=$(git describe --tags --abbrev=0 2>/dev/null || true)
54-
if [ -n "$AFTER" ] && [ "$BEFORE" != "$AFTER" ]; then
55-
echo "released=true" >> "$GITHUB_OUTPUT"
56-
echo "tag=$AFTER" >> "$GITHUB_OUTPUT"
57-
else
58-
echo "released=false" >> "$GITHUB_OUTPUT"
59-
fi
60-
6114
mcp-publish:
62-
needs: semantic-release
63-
if: needs.semantic-release.outputs.released == 'true'
6415
runs-on: ubuntu-latest
6516
permissions:
6617
id-token: write
@@ -70,7 +21,7 @@ jobs:
7021
- name: Checkout tag
7122
uses: actions/checkout@v5
7223
with:
73-
ref: ${{ needs.semantic-release.outputs.tag }}
24+
ref: main
7425

7526
- name: Setup Node.js
7627
uses: actions/setup-node@v5

CONTRIBUTING.md

Lines changed: 28 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,28 @@
1-
# Contributing
1+
# Publishing
2+
3+
When After merging changes to the server, the following steps need to be done:
4+
5+
1. Server version bump (major/minor/patch)
6+
7+
2. Publish to MCP registry.
8+
9+
## Server version bump
10+
11+
Publishing is done manually through a developer machine. This enabled bundling multiple
12+
features/fixes under one release.
13+
14+
When you want to publish a new version:
15+
16+
- Pull `main` locally.
17+
18+
- Bump the server version numbers in the following files: `package.json`, `server.json`. Note that
19+
there may be more files where the version number
20+
21+
- Choose between major, minor or patch bump accordingly.
22+
23+
- Run `npm publish`. This command should instruct you how to authenticate with NPM. The full command
24+
should look like this:
25+
26+
```
27+
NPM_CONFIG__AUTHTOKEN=<one_time_token>npm publish --access public
28+
```

README.md

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ services, streamlining access to our tools and capabilities.
7575
1. Clone this repository:
7676

7777
```
78-
git clone https://github.com/Decodo/decodo-mcp-server
78+
git clone https://github.com/Decodo/mcp-server
7979
```
8080

8181
2. Run the following commands in the terminal:
@@ -151,31 +151,31 @@ The server exposes the following tools:
151151
| `scrape_as_markdown` | Scrapes any target URL, expects a URL to be given via prompt. Returns results in Markdown. | Scrape peacock.com from a US IP address and tell me the pricing. |
152152
| `screenshot` | Captures a screenshot of any webpage and returns it as a PNG image. | Take a screenshot of github.com from a US IP address. |
153153
| `google_search` | Scrapes Google Search for a given query, and returns parsed results. | Scrape Google Search for shoes and tell me the top position. |
154-
| `google_ads` | Scrapes Google Ads search results. | Scrape Google Ads for laptop and show me the top ads. |
155-
| `google_lens` | Scrapes Google Lens image search results. | Search Google Lens for this image: https://example.com/image.jpg |
156-
| `google_ai_mode` | Scrapes Google AI Mode (Search with AI) results. | Ask Google AI Mode: What are the top three dog breeds? |
154+
| `google_ads` | Scrapes Google Ads search results. | Scrape Google Ads for laptop and show me the top ads. |
155+
| `google_lens` | Scrapes Google Lens image search results. | Search Google Lens for this image: https://example.com/image.jpg |
156+
| `google_ai_mode` | Scrapes Google AI Mode (Search with AI) results. | Ask Google AI Mode: What are the top three dog breeds? |
157157
| `google_travel_hotels` | Scrapes Google Travel Hotels search results. | Search Google Travel Hotels for hotels in Paris. |
158158
| `amazon_search` | Scrapes Amazon Search for a given query, and returns parsed results. | Scrape Amazon Search for wireless keyboard. |
159-
| `amazon_product` | Scrapes Amazon Product page. | Scrape Amazon product B09H74FXNW and show me the details. |
160-
| `amazon_pricing` | Scrapes Amazon Product pricing information. | Get pricing for Amazon product B09H74FXNW. |
161-
| `amazon_sellers` | Scrapes Amazon Seller information. | Get information about Amazon seller A1R0Z7FJGTKESH. |
162-
| `amazon_bestsellers` | Scrapes Amazon Bestsellers list. | Show me Amazon bestsellers in electronics. |
159+
| `amazon_product` | Scrapes Amazon Product page. | Scrape Amazon product B09H74FXNW and show me the details. |
160+
| `amazon_pricing` | Scrapes Amazon Product pricing information. | Get pricing for Amazon product B09H74FXNW. |
161+
| `amazon_sellers` | Scrapes Amazon Seller information. | Get information about Amazon seller A1R0Z7FJGTKESH. |
162+
| `amazon_bestsellers` | Scrapes Amazon Bestsellers list. | Show me Amazon bestsellers in electronics. |
163163
| `walmart_search` | Scrapes Walmart Search for a given query, and returns parsed results. | Scrape Walmart Search for camping tent. |
164-
| `walmart_product` | Scrapes Walmart Product page. | Scrape Walmart product 15296401808. |
164+
| `walmart_product` | Scrapes Walmart Product page. | Scrape Walmart product 15296401808. |
165165
| `target_search` | Scrapes Target Search for a given query, and returns parsed results. | Scrape Target Search for kitchen appliances. |
166-
| `target_product` | Scrapes Target Product page. | Scrape Target product 92186007. |
166+
| `target_product` | Scrapes Target Product page. | Scrape Target product 92186007. |
167167
| `tiktok_post` | Scrapes a TikTok post URL for structured data (e.g. engagement, caption, hashtags). | Scrape this TikTok post: https://www.tiktok.com/@nba/video/7393013274725403950 |
168168
| `tiktok_shop_search` | Scrapes TikTok Shop Search for a given query, and returns parsed results. | Scrape TikTok Shop Search for phone cases. |
169169
| `tiktok_shop_product` | Scrapes TikTok Shop Product page. | Scrape TikTok Shop product 1731541214379741272. |
170170
| `tiktok_shop_url` | Scrapes TikTok Shop page by URL. | Scrape this TikTok Shop URL: https://www.tiktok.com/shop/s?q=HEADPHONES |
171171
| `youtube_metadata` | Scrapes YouTube video metadata. | Get metadata for YouTube video dFu9aKJoqGg. |
172-
| `youtube_channel` | Scrapes YouTube channel videos. | Scrape YouTube channel @decodo_official. |
172+
| `youtube_channel` | Scrapes YouTube channel videos. | Scrape YouTube channel @decodo_official. |
173173
| `youtube_subtitles` | Scrapes YouTube video subtitles. | Get subtitles for YouTube video L8zSWbQN-v8. |
174174
| `youtube_search` | Search YouTube videos. | Search YouTube for "How to care for chinchillas". |
175175
| `reddit_post` | Scrapes a specific Reddit post. | Scrape the following Reddit post: https://www.reddit.com/r/horseracing/comments/1nsrn3/ |
176-
| `reddit_subreddit` | Scrapes Reddit subreddit results. | Scrape the top 5 posts on r/Python this week. |
176+
| `reddit_subreddit` | Scrapes Reddit subreddit results. | Scrape the top 5 posts on r/Python this week. |
177177
| `reddit_user` | Scrapes a Reddit user profile and their posts/comments. | Scrape this Reddit user: https://www.reddit.com/user/IWasRightOnce/ |
178-
| `bing_search` | Scrapes Bing Search results. | Search Bing for laptop reviews. |
178+
| `bing_search` | Scrapes Bing Search results. | Search Bing for laptop reviews. |
179179
| `chatgpt` | Search and interact with ChatGPT for AI-powered responses and conversations. | Ask ChatGPT to explain quantum computing in simple terms. |
180180
| `perplexity` | Search and interact with Perplexity for AI-powered responses and conversations. | Ask Perplexity what the latest trends in web development are. |
181181

0 commit comments

Comments
 (0)