Aintent Framework ð
ããŒã«ã«Aintent Framework ð ã«ã€ããŠ
Aintent Frameworkã¯ãèªç¶èšèªã®æå³ãæ§é åãªããžã§ã¯ããå®è¡å¯èœãªã¯ãŒã¯ãããŒã«å€æããMCPãµãŒããŒã§ããæå³ã®äœæãåŠçãä¿åã«æ¡åŒµå¯èœãªAPIãå¿ èŠãšããã¢ããªã±ãŒã·ã§ã³åãã§ãã
äž»ãªæ©èœ
- 01èªç¶èšèªã®æå³è§£æ
- 02æå³ãç®æšãšå¶çŽã«åè§£
- 03æå³ã®äœæãååŸãåŠç
- 04ãã©ã°ã€ã³å¯èœãªã¹ãã¬ãŒãžãšã¡ã¢ãªå®è£
- 05TypeScriptåå®çŸ©ãšãšã©ãŒåŠç
掻çšã·ãŒã³
- 01ãŠãŒã¶ãŒèŠæ±ãæ§é åãããæå³ãªããžã§ã¯ãã«å€æ
- 02æå³ããå®è¡å¯èœãªã¯ãŒã¯ãããŒãçæ
MCP 察å¿
æå³åŠççšã®MCPãµãŒããŒãšããŠèª¬æãããŠããŸããAPIãéããŠæå³ã®äœæãååŸãåŠçã管çããŸãã
èšå®
ããŒã«ã«ãµãŒããŒã®èšå®ã¯ã©ã®ã¯ã©ã€ã¢ã³ãã§ãå ±éã§ããã³ããŒããŠã¯ã©ã€ã¢ã³ãã® MCP èšå®ãã¡ã€ã«ã«è²Œãä»ããŠãã ããã
ãã®ãµãŒããŒã®ããã±ãŒãžããªã¢ãŒããšã³ããã€ã³ãã¯ãŸã ååŸã§ããŠããŸããããããžã§ã¯ãã® README ã®æé ã«åŸã£ãŠãã ããã
ããŒã«
ããŒã«ã«ãµãŒããŒã®ããŒã«ã¯ãã·ã³äžã§èµ·åããŠåããŠååŸã§ããŸããã¡ã³ãããŒã¯ãŸã ããŒã«äžèЧãæäŸããŠããŸããã
詳现
Intent MCP Server
èªç¶èšèªã®æå³ããæ§é åãããå®è¡å¯èœãªåœ¢åŒã«å€æãã Model Context ProtocolïŒMCPïŒãµãŒããŒã§ããæ¡åŒµæ§ãšä¿¡é Œæ§ãéèŠããæå³ã管çããã³åŠçããããã®å ç¢ãª API ãæäŸããŸãã
æŠèŠ
ãã®ãããžã§ã¯ãã§ã¯ãèªç¶èšèªã®å ¥åãæ§é åãªããžã§ã¯ãã«å€æããå®è¡å¯èœãªã¯ãŒã¯ãããŒãçæããæå³åŠçã¢ãŒããã¯ãã£ãå®è£ ããŠããŸããæå³ã管çããããã®æç¢ºãª API ãæäŸãããšãšãã«ãä¿å®æ§ãåå®å šæ§ãæ¡åŒµæ§ãéèŠããŠããŸãã
æ©èœ
- ð¯ æå³åŠçïŒæç¢ºã«å®çŸ©ããã API ãéããŠãæå³ã®äœæãååŸãåŠçãè¡ããŸã
- ð èªç¶èšèªçè§£ïŒãŠãŒã¶ãŒã®çã®æå³ãè§£æããçè§£ããŸã
- ð§© æå³ã®åè§£ïŒæå³ãç®æšãšå¶çŽãå«ãæ§é åãªããžã§ã¯ãã«å€æããŸã
- ðŸ æè»ãªã¹ãã¬ãŒãžïŒçµã¿èŸŒã¿ã®ã€ã³ã¡ã¢ãªå®è£ ãåããããã©ã°ã€ã³å¯èœãªã¹ãã¬ãŒãžã·ã¹ãã ã§ã
- ð åå®å šæ§ïŒå æ¬çãªåå®çŸ©ãåãããå®å šãª TypeScript å®è£ ã§ã
- ð¡ïž ãšã©ãŒåŠçïŒå ç¢ãªãšã©ãŒåŠçããã³ãã®ã³ã°ã·ã¹ãã ã§ã
- 𧪠ãã¹ãïŒJest ã«ããå æ¬çãªãã¹ãã¹ã€ãŒãã§ã
- ð API ããã¥ã¡ã³ãïŒæç¢ºãª API ããã¥ã¡ã³ããšäŸãçšæããŠããŸã
åææ¡ä»¶
- Node.jsïŒv18 以éïŒ
- npm ãŸã㯠yarn
ã€ã³ã¹ããŒã«
- ãªããžããªãã¯ããŒã³ããŸãïŒ
git clone https://github.com/openpandacodes/intent-mcp-server.git
cd intent-mcp-server
- äŸåé¢ä¿ãã€ã³ã¹ããŒã«ããŸãïŒ
npm install
- ã«ãŒããã£ã¬ã¯ããªã«
.envãã¡ã€ã«ãäœæããŸãïŒ
cp .env.example .env
.envãã¡ã€ã«ãæŽæ°ããèšå®ãå ¥åããŸãã
èšå®
ãµãŒããŒã¯ç°å¢å€æ°ã䜿çšããŠèšå®ã§ããŸãïŒ
NODE_ENVïŒç°å¢ïŒdevelopmentãproductionãtestïŒPORTïŒãµãŒããŒã®ããŒãïŒããã©ã«ãïŒ3000ïŒLOG_LEVELïŒãã°ã¬ãã«ïŒdebugãinfoãwarnãerrorïŒ
äœ¿çšæ¹æ³
éçº
ããããªããŒããæå¹ã«ããŠéçºãµãŒããŒãèµ·åããŸãïŒ
npm run dev
æ¬çªç°å¢
æ¬çªãµãŒããŒããã«ãããŠèµ·åããŸãïŒ
npm run build
npm start
ãã¹ã
ãã¹ããå®è¡ããŸãïŒ
npm test
ã«ãã¬ããžä»ãã§ãã¹ããå®è¡ããŸãïŒ
npm run test:coverage
API ãšã³ããã€ã³ã
æå³ã®ç®¡ç
-
POST /api/intentïŒæ°ããæå³ãäœæããŸãcurl -X POST http://localhost:3000/api/intent \ -H "Content-Type: application/json" \ -d '{"rawIntent": "Your natural language intent here"}' -
GET /api/intent/:idïŒID ã§æå³ãååŸããŸãcurl -X GET http://localhost:3000/api/intent/YOUR_INTENT_ID
ãã®ä»ã®ãšã³ããã€ã³ãã«ã€ããŠã¯ãAPI 仿§æžã«èšèŒãããŠããŸãã
ãã«ã¹ãã§ãã¯
GET /healthïŒãµãŒããŒã®ãã«ã¹ã¹ããŒã¿ã¹ã確èªããŸã
ã¢ãŒããã¯ãã£
ãµãŒããŒã¯ãããããç°ãªãå±€ãããªãã¯ãªãŒã³ã¢ãŒããã¯ãã£ã®ãã¿ãŒã³ã«åŸã£ãŠããŸãïŒ
- ã³ã³ãããŒã©ãŒïŒHTTP ãªã¯ãšã¹ããšã¬ã¹ãã³ã¹ãåŠçããŸã
- ãµãŒãã¹ïŒäžæ žãšãªãããžãã¹ããžãã¯ãšæå³åŠçãå®è£ ããŸã
- ã¹ãã¬ãŒãžïŒãã©ã°ã€ã³å¯èœãªå®è£ ã䜿çšããŠããŒã¿ãæ°žç¶åããŸã
- ã¢ãã«ïŒããŒã¿æ§é ãšåãå®çŸ©ããŸã
äž»ãªã³ã³ããŒãã³ã
IntentControllerïŒæå³é¢é£ã® HTTP ãšã³ããã€ã³ããåŠçããŸãIntentServiceïŒæå³åŠçãæ ãäžæ žãµãŒãã¹ã§ãStorageInterfaceïŒæœè±¡ã¹ãã¬ãŒãžå±€ã§ãInMemoryStorageïŒã¹ãã¬ãŒãžã€ã³ã¿ãŒãã§ã€ã¹ã®åç §å®è£ ã§ã
ãããžã§ã¯ãæ§æ
intent-mcp-server/
âââ src/
â âââ controllers/ # HTTP request handlers
â âââ services/ # Business logic implementation
â â âââ __tests__/ # Service tests
â âââ storage/ # Storage implementations
â âââ models/ # Type definitions
â âââ utils/ # Utility functions
âââ tests/ # Test suites
âââ config/ # Configuration files
æå³ã®æ§é
ãã®ã·ã¹ãã ã§ã¯ãæå³ã圢åŒçãªãªããžã§ã¯ãã«æ§é åããŸãïŒ
interface Intent {
id: string;
rawIntent: string;
processed: {
goals: Goal[];
constraints: Constraint[];
metadata: Record<string, unknown>;
};
status: "pending" | "processing" | "completed" | "failed";
createdAt: Date;
updatedAt: Date;
}
ãšã©ãŒåŠç
ãµãŒããŒã§ã¯ãå æ¬çãªãšã©ãŒåŠçãå®è£ ããŠããŸãïŒ
- ãšã©ãŒã®çš®é¡ããšã®ã«ã¹ã¿ã ãšã©ãŒã¯ã©ã¹
- é©å㪠HTTP ã¹ããŒã¿ã¹ã³ãŒããšãšã©ãŒã¬ã¹ãã³ã¹
- ãããã°ãšã¢ãã¿ãªã³ã°ã®ããã®æ§é åãã°
- TypeScript ã®åã䜿çšããæ€èšŒ
ã³ã³ããªãã¥ãŒã·ã§ã³
- ãªããžããªããã©ãŒã¯ããŸã
- æ©èœãã©ã³ããäœæããŸãïŒ
git checkout -b feature/amazing-featureïŒ - 倿Žãã³ãããããŸãïŒ
git commit -m 'feat: Add some amazing feature'ïŒ - ãã©ã³ãã«ããã·ã¥ããŸãïŒ
git push origin feature/amazing-featureïŒ - ãã«ãªã¯ãšã¹ããäœæããŸã
ã³ãŒãã以äžã®èŠä»¶ãæºãããŠããããšã確èªããŠãã ããïŒ
- æ¢åã®ã¹ã¿ã€ã«ãšèŠçŽã«åŸã£ãŠãã
- é©åãªãã¹ããå«ãŸããŠãã
- å¿ èŠã«å¿ããŠããã¥ã¡ã³ããæŽæ°ãããŠãã
- Conventional Commits ã®ã¡ãã»ãŒãžã䜿çšããŠãã
ã©ã€ã»ã³ã¹
MIT License â 詳现ã«ã€ããŠã¯ LICENSE ãã¡ã€ã«ãåç §ããŠãã ãã
ã³ã¡ã³ã
MCP ã¯åããŠã§ããïŒ
ãããã³ã«ã®æŠèŠããæåã®ãµãŒããŒã®å°å ¥ãŸã§ãããããçåã«ãŸãšããŠçããŸãã
AI ã¢ããªã±ãŒã·ã§ã³ãå€éšã®ããŒã«ãããŒã¿ãœãŒã¹ã«çµ±äžçãªæ¹æ³ã§æ¥ç¶ããããã®ãªãŒãã³ãªãããã³ã«ã§ããã¯ã©ã€ã¢ã³ãã¯ã¢ãã«ãšã®å¯Ÿè©±ãæ ããMCP ãµãŒããŒã¯ããŒã«ã»ãªãœãŒã¹ã»ããã³ãããã³ãã¬ãŒããæäŸããŸããæšæºã¡ãã»ãŒãžã§ããåãããããã1 ã€ã®ãµãŒããŒãè€æ°ã®ã¯ã©ã€ã¢ã³ãã§åå©çšã§ããŸãã