{"_id":"@aintent/intent-mcp-server","name":"@aintent/intent-mcp-server","dist-tags":{"latest":"0.1.0"},"versions":{"0.1.0":{"name":"@aintent/intent-mcp-server","version":"0.1.0","description":"Model Context Protocol server for processing and managing intents","main":"dist/index.js","types":"dist/index.d.ts","scripts":{"build":"tsc","start":"node dist/server.js","dev":"ts-node-dev --respawn src/server.ts","test":"jest","test:watch":"jest --watch","test:coverage":"jest --coverage","prepublishOnly":"npm run build","prepare":"npm run build"},"keywords":["intent","mcp","nlp","model-context-protocol","intent-processing","typescript"],"author":{"name":"OpenPandaCodes"},"repository":{"type":"git","url":"git+https://github.com/aintent/intent-mcp-server.git"},"bugs":{"url":"https://github.com/aintent/intent-mcp-server/issues"},"homepage":"https://github.com/aintent/intent-mcp-server#readme","license":"MIT","dependencies":{"@anthropic-ai/sdk":"^0.18.0","@modelcontextprotocol/sdk":"^1.9.0","cors":"^2.8.5","dotenv":"^16.3.1","express":"^4.18.2","express-rate-limit":"^7.1.5","uuid":"^9.0.1","zod":"^3.24.2"},"devDependencies":{"@types/cors":"^2.8.17","@types/express":"^4.17.21","@types/jest":"^29.5.14","@types/node":"^20.10.0","@types/uuid":"^9.0.7","jest":"^29.7.0","ts-jest":"^29.3.2","ts-node-dev":"^2.0.0","typescript":"^5.3.2"},"engines":{"node":">=18.0.0"},"_id":"@aintent/intent-mcp-server@0.1.0","gitHead":"eb386e3e276c9de16e55a9ffa6e71a1a45ee0054","_nodeVersion":"20.11.1","_npmVersion":"10.2.4","dist":{"integrity":"sha512-JEGZA7NBYknKv0rLBGpMdEHn9tWe5VcXRxL6lZdZyb39Eea+FnKh4fHO9OKRrU790cUyhy01024QalyGntDLAA==","shasum":"5e8572792ed3f105d456c3db8996f5d6aa3a68df","tarball":"https://registry.npmjs.org/@aintent/intent-mcp-server/-/intent-mcp-server-0.1.0.tgz","fileCount":21,"unpackedSize":67716,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDw1r6FH10Bm4cVYLyBIcW+g8j8yv/qvyZ2vymbubPAGAIhAJtWUqSCJ1SfWiSWrbPQC4uRbJ7xQvAbnNd19hhPRX6Z"}]},"_npmUser":{"name":"axeslabs","email":"axesintent@gmail.com"},"directories":{},"maintainers":[{"name":"axeslabs","email":"axesintent@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/intent-mcp-server_0.1.0_1744805910696_0.07342614050600127"},"_hasShrinkwrap":false}},"time":{"created":"2025-04-16T12:18:30.628Z","0.1.0":"2025-04-16T12:18:30.869Z","modified":"2025-04-16T12:18:31.109Z"},"maintainers":[{"name":"axeslabs","email":"axesintent@gmail.com"}],"description":"Model Context Protocol server for processing and managing intents","homepage":"https://github.com/aintent/intent-mcp-server#readme","keywords":["intent","mcp","nlp","model-context-protocol","intent-processing","typescript"],"repository":{"type":"git","url":"git+https://github.com/aintent/intent-mcp-server.git"},"author":{"name":"OpenPandaCodes"},"bugs":{"url":"https://github.com/aintent/intent-mcp-server/issues"},"license":"MIT","readme":"# Intent MCP Server\n\nA Model Context Protocol (MCP) server that processes natural language intents into structured, actionable formats. This server provides a robust API for managing and processing intents with a focus on extensibility and reliability.\n\n## Overview\n\nThis project implements an intent processing architecture that transforms natural language inputs into structured objects and generates executable workflows. It focuses on maintainability, type safety, and extensibility while providing a clean API for intent management.\n\n## Features\n\n- 🎯 **Intent Processing**: Create, retrieve, and process intents through a well-defined API\n- 🔍 **Natural Language Understanding**: Parse and understand raw user intentions\n- 🧩 **Intent Decomposition**: Transform intentions into structured objects with goals and constraints\n- 💾 **Flexible Storage**: Pluggable storage system with built-in in-memory implementation\n- 📝 **Type Safety**: Full TypeScript implementation with comprehensive type definitions\n- 🛡️ **Error Handling**: Robust error handling and logging system\n- 🧪 **Testing**: Comprehensive test suite with Jest\n- 📚 **API Documentation**: Clear API documentation and examples\n\n## Prerequisites\n\n- Node.js (v18 or higher)\n- npm or yarn\n\n## Installation\n\n1. Clone the repository:\n```bash\ngit clone https://github.com/openpandacodes/intent-mcp-server.git\ncd intent-mcp-server\n```\n\n2. Install dependencies:\n```bash\nnpm install\n```\n\n3. Create a `.env` file in the root directory:\n```bash\ncp .env.example .env\n```\n\n4. Update the `.env` file with your configuration settings.\n\n## Configuration\n\nThe server can be configured using environment variables:\n\n- `NODE_ENV`: Environment (development, production, test)\n- `PORT`: Server port (default: 3000)\n- `LOG_LEVEL`: Logging level (debug, info, warn, error)\n\n## Usage\n\n### Development\n\nStart the development server with hot reloading:\n```bash\nnpm run dev\n```\n\n### Production\n\nBuild and start the production server:\n```bash\nnpm run build\nnpm start\n```\n\n### Testing\n\nRun tests:\n```bash\nnpm test\n```\n\nRun tests with coverage:\n```bash\nnpm run test:coverage\n```\n\n## API Endpoints\n\n### Intent Management\n\n- `POST /api/intent`: Create a new intent\n  ```bash\n  curl -X POST http://localhost:3000/api/intent \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\"rawIntent\": \"Your natural language intent here\"}'\n  ```\n\n- `GET /api/intent/:id`: Get an intent by ID\n  ```bash\n  curl -X GET http://localhost:3000/api/intent/YOUR_INTENT_ID\n  ```\n\nAdditional endpoints are documented in the API specification.\n\n### Health Check\n\n- `GET /health`: Check server health status\n\n## Architecture\n\nThe server follows a clean architecture pattern with distinct layers:\n\n1. **Controllers**: Handle HTTP requests and responses\n2. **Services**: Implement core business logic and intent processing\n3. **Storage**: Manage data persistence with pluggable implementations\n4. **Models**: Define data structures and types\n\n### Key Components\n\n- `IntentController`: Handles intent-related HTTP endpoints\n- `IntentService`: Core service for intent processing\n- `StorageInterface`: Abstract storage layer\n- `InMemoryStorage`: Reference implementation of storage interface\n\n### Project Structure\n\n```\nintent-mcp-server/\n├── src/\n│   ├── controllers/     # HTTP request handlers\n│   ├── services/        # Business logic implementation\n│   │   └── __tests__/  # Service tests\n│   ├── storage/        # Storage implementations\n│   ├── models/         # Type definitions\n│   └── utils/          # Utility functions\n├── tests/              # Test suites\n└── config/             # Configuration files\n```\n\n## Intent Structure\n\nThe system structures intentions into formal objects:\n\n```typescript\ninterface Intent {\n  id: string;\n  rawIntent: string;\n  processed: {\n    goals: Goal[];\n    constraints: Constraint[];\n    metadata: Record<string, unknown>;\n  };\n  status: \"pending\" | \"processing\" | \"completed\" | \"failed\";\n  createdAt: Date;\n  updatedAt: Date;\n}\n```\n\n## Error Handling\n\nThe server implements comprehensive error handling:\n\n- Custom error classes for different types of errors\n- Proper HTTP status codes and error responses\n- Structured logging for debugging and monitoring\n- Validation using TypeScript types\n\n## Contributing\n\n1. Fork the repository\n2. Create a feature branch (`git checkout -b feature/amazing-feature`)\n3. Commit your changes (`git commit -m 'feat: Add some amazing feature'`)\n4. Push to the branch (`git push origin feature/amazing-feature`)\n5. Create a Pull Request\n\nPlease ensure your code:\n- Follows the existing style and conventions\n- Includes appropriate tests\n- Updates documentation as needed\n- Uses conventional commit messages\n\n## License\n\nMIT License - see LICENSE file for details ","readmeFilename":"README.md","_rev":"1-e3e1d34bd3c2832c1b5de6f48b7cef31"}