About Workshop
Workshop is an MCP server published by akranga in the AI category: workshop for Model Context Protocol.
The repository has 17 stars and 6 forks, with the last commit a year ago. Six months or more without a commit doesn't mean the server is broken, but check the open issues before depending on it in production.
Install
git clone https://github.com/akranga/mcp-workshopThis server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.
Ask AI
Ask AI about Workshop
Powered by Claude · Grounded in docs
Security checks
Static checks derived from the repository 3 days ago. Heuristics on the source, not an audit.
- ✓README presentThe repository ships documentation.
- !License declaredNo license file. Legally you have no right to use it in a product.
- !Tests presentNo tests found. Behaviour changes may go unnoticed between versions.
- ✓Dependencies pinnedA lockfile pins dependency versions.
- ✓No dynamic code executionSource scan found no eval, dynamic Function, or shell execution.
1 check has not been run yet.
README
MCP Workshop
Introduction
This code repo contains workshop materials for Model Context Protocol by Anthropic
Directory Structure
./
├── docker-compose.yaml # Docker compose file
├── Dockerfile # Dockerfile
├── poetry.lock # Poetry lock file
├── pyproject.toml # Poetry project configuration file
├── README.md # This file
└── src
├── clients # MCP Clients code
│ ├── pydantic_ai # MCP Client app with Pydantic AI and AWS Bedrock model (Requires AWS credentials)
│ │ ├── __init__.py
│ │ ├── main.py # app code
│ │ └── prompts.py # LLM prompts
│ ├── settings # app configs
│ │ ├── __init__.py
│ │ └── main.py
│ └── slack # MCP Client with Slack Bolt app (requires Slack API token)
│ ├── __init__.py
│ ├── main.py # app code
│ ├── manifest.yaml # slack app manifest file
│ └── prompts.py # LLM prompts
└── servers # MCP Servers code
├── download # Download HTML page MCP Server
│ ├── __init__.py
│ ├── main.py
│ └── utils.py
├── online_search # MCP Server for Google Programmable Search (requires API key)
│ ├── __init__.py
│ └── main.py # app code
├── settings # app configs
│ ├── __init__.py
│ └── main.py
└── today # MCP Server Returns today's date in various formats. Used to help LLM to calculate dates in relations to curreen date
├── __init__.py
└── main.py # app code
MCP Servers
Download
This server downloads the HTML content of a given URL. It uses the httpx library to download the content.
Then it converts the HTML content to Markdown text. So it is easier for LLM to read and understand the content.
Online Search
This server uses the Google Programmable Search API to search the web for a given query. It requires an API key to be set in the environment variable GOOGLE_API_KEY and GOOGLE_SEARCH_ENGINE_ID
See Google Programmable Search API for more information.
Today
This server returns today's date in various formats. It is used to help LLM calculate dates in relation to the current date.
For instance it will help LLM to answer about What happened at the last Tuesday?
MCP Clients
Pydantic AI
This MCP client uses the Pydantic AI model from AWS Bedrock. It requires AWS credentials to be set in the environment variables.
This is not interactive client, it loads the model and does one task to present in STDOUT.
By default it is using Claude 3.7 model from AWS Bedrock.
Slack
This MCP client extends the Pydantic AI client to work with Slack. It uses the Slack Bolt library to create a Slack app.
It requires a Slack API token to be set in the environment variable SLACK_BOT_TOKEN and SLACK_APP_TOKEN. You can create a Slack app and get the tokens from the Slack API using the manifest file src/clients/slack/manifest.yaml
Running the code
TBD
README fetched from the repository 3 days ago. The original is authoritative.