GitHubスター
3
ユーザー評価
未評価
お気に入り
0
閲覧数
6
フォーク
0
イシュー
0
README
slackbot-mcp-host
MCP Host as a Slack Bot
Demo
Features
Supported MCP Servers
- stdio
- executable file (Must be installed by bundle feature)
- sse
Bundle MCP Servers
'slackbot-mcp-host' able to bundle MCP server with Docker image at compile time.
- go
- npm
- uv
- bun
{
"mcpServers": {...},
"bundle": {
"go": {
"packages": [
"github.com/miyamo2/mcp-restaurant-order@latest"
]
},
"uv": {
"packages": [
"mcp-server-fetch"
]
},
"bun": {
"packages": [
"@modelcontextprotocol/server-brave-search@latest"
]
}
}
}
Setup
Create a Slack App
See: https://api.slack.com/quickstart
GCP
Login to GCP
gcloud auth application-default login
Create a new project
gcloud projects create <PROJECT_ID>
gcloud config set project <PROJECT_ID>
Enable billing
See available billing account
gcloud billing accounts list
# output
ACCOUNT_ID: <BILLING_ACCOUNT_ID>
NAME: <BILLING_ACCOUNT_NAME>
OPEN: <TRUE|FALSE>
MASTER_ACCOUNT_ID: <MASTER_ACCOUNT_ID>
Link billing account to the project
gcloud alpha billing projects link <PROJECT_ID> --billing-account="<BILLING_ACCOUNT_ID>"
Enable api
gcloud services enable iam.googleapis.com run.googleapis.com artifactregistry.googleapis.com
Terraform
Edit terraform variables
{
"mcpServers": {
"hotpepper-gourmet-mcp-server": {
"command": "hotpepper-gourmet-mcp-server",
"env": {
"HOTPEPPER_GOURMET_API_KEY": "<HOTPEPPER Gourmet API Key>"
}
},
"fetch": {
"command": "mcp-server-fetch"
},
"server-brave-search": {
"command": "mcp-server-brave-search",
"env": {
"BRAVE_API_KEY": "<BraveApiKey>",
}
}
}, # (Required) MCP servers to connect to.,
"bundle": {
"go": {
"packages": [
"github.com/miyamo2/hotpepper-gourmet-mcp-server@latest"
]
},
"uv": {
"packages": [
"mcp-server-fetch"
]
},
"bun": {
"packages": [
"@modelcontextprotocol/server-brave-search@latest"
]
}
}, # (Optional) MCP servers to install at compile time. Supported: go, uv, bun
"llmProviderName": "anthropic", # (Required) anthropic | openai | google
"llmApiKey": "<LLMApiKey>", # (Optional) Model to be used
"llmModelName": "<LLMModelName>", # (Optional) API Key for LLM Provider
"slackBotToken": "<SlackBotToken>", # (Required) Slack bot token. 'app_mentions:read', 'chat:write' and 'users:read' scopes are required.
"slackSigninSecret": "<SlackSigninSecret>", # (Required) Slack Signin Secret
"allowedUsers": [
"<UserID1>"
], # (Optional) List of user IDs who can use the bot
"gcpProjectId": "<GCPProjectId>", # (Required) GCP project ID
"gcpProjectNumber": "<GCPProjectNumber>", # (Required) GCP project number
"gcpRegion": "<GCPRegion>" # (Required) GCP region
}
terraform apply
cd .deploy
terraform init
terraform plan -var-file tfvars.json
terraform apply -var-file tfvars.json