streamable-httpMITupdated 11d ago
Cloudflare Workers äžã§åäœãããä¹±æ°çæçšã® MCPïŒModel Context ProtocolïŒãµãŒããŒã§ããNotion Agent ãªã©ã® MCP ã¯ã©ã€ã¢ã³ããããæŽæ°ã»æµ®åå°æ°ç¹æ°ã»éã¿ä»ãéžæã»å皮確çååžã®æšæ¬ãçæã§ããŸãã
¿Qué puedes hacer con random mcp?
random-mcp
Cloudflare Workers äžã§åäœãããä¹±æ°çæçšã® MCPïŒModel Context ProtocolïŒãµãŒããŒã§ããNotion Agent ãªã©ã® MCP ã¯ã©ã€ã¢ã³ããããæŽæ°ã»æµ®åå°æ°ç¹æ°ã»éã¿ä»ãéžæã»å皮確çååžã®æšæ¬ãçæã§ããŸãã
å ¬åŒãµã€ã: https://random-mcp.eldesh-tools.workers.dev/
ç®ç
èšèªã¢ãã«èªèº«ã«ä¹±æ°ãéžã°ãããå€éšã®ä¹±æ°çæåŠçã MCP ããŒã«ãšããŠåŒã³åºããããã«ããããšãç®çãšããŠããŸãã
èšèªã¢ãã«ã«ä¹±æ°ã®éžæãå§ãããšãã¢ãã«ã®åŠç¿ããŒã¿ãåºååŸåãçµæã«åœ±é¿ããçµ±èšçã«åã£ãå€ãçæãããŸããããšãã°ã1ãã10ã®æŽæ°ãã©ã³ãã ã«éžã¹ããšæç€ºããŠããã¢ãã«ã¯ç¹å®ã®å€ïŒ7ãªã©ïŒã奜ãåŸåãããããŸã£ãšããªæå³ã§ã®ä¹±æ°ã«ã¯ãªããŸããããã®ãããä¹±æ°ãå¿ èŠãªåŠçã¯ã¢ãã«ãèªåŸå€æããã®ã§ã¯ãªããæ¬ãµãŒããŒã®ããŒã«ãéããŠçæããå¿ èŠããããŸãã
ä¹±æ°æºã«ã¯ Web Crypto API ã䜿çšããŸããæŽæ°çæã§ã¯ãå°äœã«ããåããé¿ãããã rejection sampling ãè¡ããŸãããã ããæå·éµãèªèšŒããŒã¯ã³ã®çæãç®çãšãã API ã§ã¯ãããŸããã
å ¬åŒãµãŒããŒãå©çšãã
å ¬åŒãµãŒããŒã¯æ¬¡ã® MCP ãšã³ããã€ã³ãã§å©çšã§ããŸããå©çšè ã Cloudflare ã GitHub OAuth App ãèšå®ããå¿ èŠã¯ãããŸããã
https://random-mcp.eldesh-tools.workers.dev/mcp
Notion AI ãžã®æ¥ç¶
- Settings > Connections > MCP > Custom MCP ãéžæããŸã
- MCP server URL ã«
https://random-mcp.eldesh-tools.workers.dev/mcpãæå®ããŸããç¬èªã€ã³ã¹ã¿ã³ã¹ãå©çšããå Žåã¯ããã®ãããã€å URL ãæå®ããŸã - 次ã®ããã«åé
ç®ãåããŠ
ConnectããŸã- Name: Notion å
ã§èå¥ããããã®ååïŒäŸ:
random-mcpïŒ - Authentication: OAuth
- Name: Notion å
ã§èå¥ããããã®ååïŒäŸ:
- ã¢ã¯ã»ã¹èš±å¯ç»é¢ã§
ApproveãéžæããŸã - GitHub ã«ãµã€ã³ã€ã³ããGitHub OAuth App ã«ããèªèšŒãå®äºããŸã
- ããŒã«ã衚瀺ãããããå¿ èŠãªããŒã«ãæå¹åããŸã
- Notion AI ããããŒã«å®è¡ããšã®ç¢ºèªãªãã§åŒã³åºãããå Žåã¯ãå®è¡èšå®ã
Run automaticallyã«å€æŽããŸã
Agent ãžã®æç€º
Agent ã®æç€ºã«ã¯äŸãã°æ¬¡ã®ããã«è¿œå ããä¹±æãå¿ èŠãªéã«å¿ ã random-mcp ã䜿ãããããã«ããŸãã
## ä¹±æ
- ä¹±æ°çæãããåŒããã·ã£ããã«ãç¡äœçºæœåºãªã©ãçµæã«ã©ã³ãã æ§ãå¿
èŠãšãããã¹ãŠã®åŠçã§ã¯ãæ¥ç¶æžã¿ã® MCP ãµãŒã㌠`random-mcp` ãå¿
ã䜿çšããã
- å
éšåŠçã«ãã£ãŠä¹±æãçæãæš¡æ¬ããŸãã¯è¿äŒŒããŠã¯ãªããªãã
- `random-mcp` ãå©çšã§ããªãå Žåããšã©ãŒã«ãªã£ãå Žåã¯ãå¥ã®æ¹æ³ã§ä»£æ¿ããããã®æšããŠãŒã¶ãŒã«äŒããã
èªèšŒ
ãµãŒããŒã¯ /mcp ã§ Streamable HTTP æ¥ç¶ãåãä»ããŸããMCP ã¯ã©ã€ã¢ã³ããšã®èªå¯ã«ã¯ OAuth 2.1ããŠãŒã¶ãŒã®èªèšŒã«ã¯ GitHub OAuth ã䜿çšããŸãã
èªå¯æã«ã¯ãMCP ã¯ã©ã€ã¢ã³ãã®ã¢ã¯ã»ã¹èš±å¯ç»é¢ã衚瀺ããåŸãGitHub ã®èªèšŒç»é¢ãžç§»åããŸããGitHub ããååŸããæš©é㯠read:user ã§ããèªå¯æžã¿ã® MCP ã¯ã©ã€ã¢ã³ãã«ã¯ mcp:use ã¹ã³ãŒãã®ã¢ã¯ã»ã¹ããŒã¯ã³ãçºè¡ãããŸãã
ããŒã«
random-mcp ã«ã¯ä»¥äžã«ç€ºã3ã€ã®ããŒã«ããããããããèšèŒã®ãã£ãŒã«ããæã€JSONãªããžã§ã¯ããèŠæ±ããŸãã
random_int
æå®ãã確çååžã«åŸãæŽæ°ãæå®æ°çæããvaluesé
åã§è¿ããŸãã
distribution: 確çååžåãçç¥æã¯uniformcount: çææ°ã1以äž1,000以äžãæ¢å®å€ã¯1
distribution |
远å ãã£ãŒã«ã | æå³ã»å¶çŽ |
|---|---|---|
uniform |
min, max |
min以äžmax以äžã®æŽæ°äžæ§ååž |
bernoulli |
probability |
æå®ç¢ºçã§1ããã以å€ã¯0 |
binomial |
trials, probability |
äºé
ååžãæå確çãprobabilityãšããç¬ç«ãªè©Šè¡ãtrialsåè¡ã£ããšãã®æååæ° |
poisson |
lambda |
æ¯æ°lambdaã®ãã¢ãœã³ååž |
ãã©ã¡ãŒã¿ãŒã®çµã¿åããã«ã¯ã次ã®å¶çŽããããŸãã
- äºé
ååž:
trialsã¯0以äž100,000以äžã®å®å šãªæŽæ°ã§ãtrials * count <= 100000 - ãã¢ãœã³ååž:
lambdaã¯0以äž100以äžã§ãlambda * count <= 10000
åŒæ°ã®äŸ: {"min":5,"max":10,"count":20}
random_double
æå®ãã確çååžã«åŸãæµ®åå°æ°ç¹æ°ãæå®æ°çæããvaluesé
åã§è¿ããŸãã
distribution: 確çååžåãçç¥æã¯uniformcount: çææ°ã1以äž1,000以äžãæ¢å®å€ã¯1
distribution |
远å ãã£ãŒã«ã | æå³ã»å¶çŽ |
|---|---|---|
uniform |
min, max |
åéåºé[min, max)ã®é£ç¶äžæ§ååž |
normal |
mean, standard_deviation |
å¹³åãšæšæºåå·®ãæå®ããæ£èŠååž |
lognormal |
mu, sigma |
log(X)ãå¹³åmuãæšæºåå·®sigmaã®æ£èŠååžã«åŸãå¯Ÿæ°æ£èŠååž |
exponential |
rate |
çrateã®ææ°ååžãrate > 0 |
åŒæ°ã®äŸ: {"distribution":"normal","mean":0,"standard_deviation":1,"count":20}
random_choice
åè£ããæå®æ°ã®èŠçŽ ãéžæããvaluesé
åã§è¿ããŸãã
choices: åè£æååã®é åã1å以äž1,000å以äžweights: ååè£ã®çžå¯Ÿçãªéã¿ãçç¥æã¯ç確çcount: éžææ°ã1以äž1,000以äžãæ¢å®å€ã¯1with_replacement: åŸ©å æœåºã§ã¯trueãéåŸ©å æœåºã§ã¯falseãæ¢å®å€ã¯true
weightsãæå®ããå Žåã¯ãchoicesãšèŠçŽ æ°ãäžèŽãããå°ãªããšãäžã€ãæ£ã®å€ã«ããŸãã
é埩å
æœåºã§ã¯ãcountãåè£æ°ä»¥äžã«ããå¿
èŠããããŸããéã¿ãæå®ããå Žåã¯ãæ£ã®éã¿ãæã€åè£æ°ä»¥äžã«ããå¿
èŠããããŸãã
åŒæ°ã®äŸ: {"choices":["A","B","C"],"weights":[1,2,1],"count":2,"with_replacement":false}
ããŒã«ã«éçº
å¿ èŠãªç°å¢
- Node.js 22.19.0以äž
- npm
- GitHub ã¢ã«ãŠã³ã
äŸåé¢ä¿ãã€ã³ã¹ããŒã«ããŸãã
npm install
ããŒã«ã«çš GitHub OAuth App ã®äœæ
GitHub ã® Developer settings ã§ãããŒã«ã«éçºçšã® OAuth App ãäœæããŸãã
次ã®å€ãèšå®ããŸãã
- Homepage URL:
http://localhost:8787 - Authorization callback URL:
http://localhost:8787/callback
äœæåŸãClient ID ãš Client secret ãååŸããŸãããã®ã¢ããªã±ãŒã·ã§ã³ã GitHub ã«èŠæ±ãã OAuth ã¹ã³ãŒã㯠read:user ã§ãã
ç°å¢å€æ°
ãããžã§ã¯ãçŽäžã« .dev.vars ãäœæããŸãã
GITHUB_CLIENT_ID=<GitHub OAuth App ã® Client ID>
GITHUB_CLIENT_SECRET=<GitHub OAuth App ã® Client secret>
COOKIE_ENCRYPTION_KEY=<Cookie ã®æå·åã«äœ¿çšããã©ã³ãã ãªå€>
GLAMA_MAINTAINER_EMAIL=<Glamaã¢ã«ãŠã³ãã®ã¡ãŒã«ã¢ãã¬ã¹>
GLAMA_MAINTAINER_EMAIL 㯠/.well-known/glama.json ã®å¿çå
容ã確èªããããã®ä»»æèšå®ã§ããããŒã«ã«ã§ãã®ç¢ºèªãããªãå Žåã¯çç¥ã§ããŸãã
COOKIE_ENCRYPTION_KEY ã¯ãäŸãã°æ¬¡ã®ã³ãã³ãã§çæã§ããŸãã
openssl rand -hex 32
wrangler.jsonc ã®ãã€ã³ãã£ã³ã°ãäºææ¥ä»ãäºæãã©ã°ããŸã㯠.dev.vars ã®å€æ°åã倿Žããå Žåã¯ãWorkers ã©ã³ã¿ã€ã ãšç°å¢å€æ°ã®åå®çŸ©ãæŽæ°ããŸãã
npm run types
çæããã worker-configuration.d.ts ã¯ãªããžããªãžã³ãããããŸããåå®çŸ©ãèšå®ãšäžèŽããŠããããšã¯ npm run typecheck ã§ç¢ºèªã§ããŸãã
èµ·å
ããŒã«ã«ãµãŒããŒãèµ·åããŸãã
npm run dev
éåžžãMCP ãšã³ããã€ã³ãã¯æ¬¡ã® URL ã«ãªããŸãã
http://localhost:8787/mcp
ã©ã³ãã£ã³ã°ããŒãžã¯ http://localhost:8787/ ã§ç¢ºèªã§ããŸãã
[!NOTE] Wrangler ã
Request.cfãååŸã§ããªããšããèŠåã衚瀺ããŠããæåŸã«Ready on http://localhost:8787ãšè¡šç€ºããããã®ãããžã§ã¯ããRequest.cfã䜿çšããŠããªããã°åäœç¢ºèªãç¶ããããŸãã
MCP Inspector ã«ããåäœç¢ºèª
ããŒã«ã«ãµãŒããŒãèµ·åããç¶æ ã§ MCP Inspector ã® Web UI ãèµ·åããŸãã
npx --yes @modelcontextprotocol/inspector@latest
Inspector ã§ Streamable HTTP ãéžæããæ¥ç¶å
ã« http://localhost:8787/mcp ãæå®ããŸããæ¥ç¶æã«ãã©ãŠã¶ã§ OAuth ã®èªå¯ãããŒãéå§ããããããã¢ã¯ã»ã¹ãèš±å¯ã㊠GitHub èªèšŒãå®äºããŸããæ¬çªç°å¢ã確èªããå Žåã¯ãæ¥ç¶å
ããããã€æžã¿ã® MCP URL ã«å€æŽããŸãã
æ¥ç¶åŸãTools ç»é¢ã«ããŒã«ã§ç€ºãããŠãããã®ã衚瀺ãããããšã確èªããŸãã
[!IMPORTANT] 2026/08/20çŸåšã® MCP Inspector ã§ã¯ random_int, random_double ã«ããå ¥ååã«å¯Ÿå¿ããWebUIãã©ãŒã ã¯å°åºãããŸããã ãããã®ããŒã«ã®åäœç¢ºèªãããå Žå㯠MCP Inspector ã® CLI ãªã©ãå©çšããŠãã ããã
ç¬èªã€ã³ã¹ã¿ã³ã¹ã®æ§ç¯
ãã®ç« ã¯ãrandom-mcp ã®ç¬èªã€ã³ã¹ã¿ã³ã¹ãæ°ãã« Cloudflare Workers ãžæ§ç¯ããå Žåã®æé ã§ããå ¬åŒãµãŒããŒã®ãããã€ã«ã¯äœ¿çšããŠããŸããã
æ§ç¯ã«ã¯ Cloudflare ã¢ã«ãŠã³ããšãæ¬çªç°å¢çšã® GitHub OAuth App ãå¿ èŠã§ããããŒã«ã«ç°å¢ãšæ¬çªç°å¢ã§ã¯ã³ãŒã«ãã㯠URL ãç°ãªããããOAuth App ã¯ç°å¢ããšã«äœæããŠãã ããã
æ¬çªçš GitHub OAuth App ã®äœæ
GitHub ã® Developer settings ã§ OAuth App ãäœæããæ¬¡ã®å€ãèšå®ããŸãã
- Homepage URL: ãããã€å Worker ã®ãªãªãžã³
- Authorization callback URL: ãããã€å
Worker ã®ãªãªãžã³ã«
/callbackãå ãã URL
ããšãã°ãWorker ã®ãªãªãžã³ã https://random-mcp.example.workers.dev ã®å ŽåãAuthorization callback URL 㯠https://random-mcp.example.workers.dev/callback ã§ãã
äœæåŸãClient ID ãš Client secret ãååŸããŸãããã®ã¢ããªã±ãŒã·ã§ã³ã GitHub ã«èŠæ±ãã OAuth ã¹ã³ãŒã㯠read:user ã§ãã
Cloudflare ãªãœãŒã¹ãš Worker ã®èšå®
OAuth ã®äžæç㪠state ãä¿åãã Cloudflare KV namespace ãäœæããŸããæ¬¡ã«ãwrangler.jsonc ã§æ¬¡ã®é
ç®ãç¬èªã€ã³ã¹ã¿ã³ã¹çšã«å€æŽããŸãã
name: Worker ã®ååkv_namespacesã®OAUTH_KVãã€ã³ãã£ã³ã°ã«ããid: äœæãã KV namespace ã® ID
Secret ã®ç»é²
Cloudflare ãžãã°ã€ã³ããŸãã
npx wrangler login
æ¬çªçš GitHub OAuth App ã®èªèšŒæ å ±ãš Cookie æå·åããŒã Cloudflare Secret ãšããŠç»é²ããŸãã
npx wrangler secret put GITHUB_CLIENT_ID
npx wrangler secret put GITHUB_CLIENT_SECRET
npx wrangler secret put COOKIE_ENCRYPTION_KEY
COOKIE_ENCRYPTION_KEY ã«ã¯ãããŒã«ã«éçºãšåæ§ã«ã©ã³ãã ãªå€ã䜿çšããŸãã.dev.vars 㯠Cloudflare ãžèªåçã«ã¯åæ ãããªããããæ¬çª Worker ã§äœ¿çšããå€ã¯ Cloudflare Secret ãšããŠç»é²ããå¿
èŠããããŸãã
ãããã€
GitHub OAuth App ã® Authorization callback URL ããããã€å
Worker ã® /callback ãæããŠããããšãšãwrangler.jsonc ã® OAUTH_KV ãå©çšå¯èœãª KV namespace ãæããŠããããšã確èªããŸãã
ãããã€ããŸãã
npm run deploy
å ¬é URL ã¯éåžžãæ¬¡ã®åœ¢åŒã§ãã
https://random-mcp.<subdomain>.workers.dev/mcp
ãããã€åŸãå ¬éããã URL ãž MCP ã¯ã©ã€ã¢ã³ããŸã㯠MCP Inspector ããæ¥ç¶ããGitHub OAuth ã®èªå¯ãšããŒã«ã®åŒã³åºãã確èªããŸãã
å ¬åŒãµãŒããŒã®ãªãªãŒã¹
å
¬åŒãµãŒããŒã¯ Cloudflare ã® Git 飿ºã«ãã£ãŠãããã€ãããŸããrelease ãã©ã³ããžã® push ã奿©ã«èªåãããã€ããããããå
¬åŒç°å¢ã®ãªãªãŒã¹ã« npm run deploy ã¯äœ¿çšããŸããã
ä¿å®æ åœè åãã®æé 㯠RELEASE.md ãåç §ããŠãã ããã
ã©ã€ã»ã³ã¹
MIT License ã®äžã§å ¬éããŠããŸãã
Instalación
Añade random mcp a tu cliente. Elige el que uses.
claude mcp add --transport http random-mcp https://random-mcp.eldesh-tools.workers.dev/mcpcodex mcp add random-mcp --url https://random-mcp.eldesh-tools.workers.dev/mcp{
"mcpServers": {
"random-mcp": {
"url": "https://random-mcp.eldesh-tools.workers.dev/mcp"
}
}
}Add to `~/.cursor/mcp.json`, or `.cursor/mcp.json` for a single project.
{
"servers": {
"random-mcp": {
"type": "http",
"url": "https://random-mcp.eldesh-tools.workers.dev/mcp"
}
}
}Add to `.vscode/mcp.json` in your workspace.
{
"mcpServers": {
"random-mcp": {
"url": "https://random-mcp.eldesh-tools.workers.dev/mcp"
}
}
}Add to `claude_desktop_config.json`, then restart Claude Desktop.
{
"mcpServers": {
"random-mcp": {
"serverUrl": "https://random-mcp.eldesh-tools.workers.dev/mcp"
}
}
}Add to `~/.codeium/windsurf/mcp_config.json`.
Puntuación
39 / 100
Incompleta
- Documentación25/25
- Mantenimiento19/25
- Confianza13/20
- Capacidad0/15
- Instalación12/15
- Documents what it does and how to connect
- Has a resolvable package or endpoint
- Exposes at least one tool, prompt or resource
- README has substantive content
- Includes a code example
- Documents its configuration
- Mentions credentials or security posture
- Last commit 2 days ago
- Has a release history
- Repository is not archived
- Licensed MIT
- Namespace verified in the official MCP registry
- Claimed by its owner
- Published under an organisation
- 0 tool(s) documented
- Provides prompt templates
- Provides resources
- 6 documented install method(s)
- Published to a package registry
- Offers a hosted endpoint â no local install
Historial de versiones
| Versiones | Publicada |
|---|---|
| 2.1.0Ãltima | 25 ago 2026 |