Skip to main content
Glama

IaC Memory MCP Server

by AgentWong
project-rules.xml6.48 kB
<?xml version="1.0" encoding="UTF-8"?> <projectRules> <metadata> <title>IaC Memory MCP Server Project Rules</title> <version>1.0</version> <description>Behavioral rules and constraints for AI assistance during development</description> </metadata> <technologyConstraints> <serverImplementation> <rule type="mandatory"> <directive>Use low-level Server from mcp.server package</directive> <rationale>Provides better control over server behavior and protocol compliance</rationale> <doNot> <item>Do not use FastMCP implementation</item> <item>Do not introduce alternative server frameworks (e.g., FastAPI)</item> </doNot> </rule> </serverImplementation> <apiConstraints> <rule type="mandatory"> <directive>Use only MCP protocol and SDK</directive> <rationale>MCP servers communicate via MCP protocol, not HTTP/REST APIs</rationale> <doNot> <item>Do not import FastAPI or related packages</item> <item>Do not use API-centric patterns or terminology</item> <item>Do not implement REST endpoints or routes</item> </doNot> <patterns> <correct> <item>Context object for MCP capabilities</item> </correct> <incorrect> <item>API endpoints</item> <item>Routes</item> <item>FastAPI dependencies</item> </incorrect> </patterns> <requirements> <item>Use only MCP SDK for server implementation</item> <item>Follow MCP protocol specifications strictly</item> <item>Use resource:// and tool patterns exclusively</item> </requirements> </rule> </apiConstraints> <dependencies> <rule type="mandatory"> <directive>Use only core MCP SDK dependencies</directive> <rationale>Maintains simplicity and follows MCP design patterns</rationale> <doNot> <item>Do not introduce additional web frameworks</item> <item>Do not add unnecessary third-party libraries</item> </doNot> </rule> </dependencies> </technologyConstraints> <implementationPatterns> <asyncSync> <rule type="mandatory"> <directive>Keep all MCP handlers as async functions</directive> <rationale>Follows MCP protocol design for non-blocking operations</rationale> </rule> <rule type="mandatory"> <directive>Keep all database operations synchronous</directive> <rationale>SQLite performs best with synchronous operations</rationale> </rule> <rule type="mandatory"> <directive>Use context managers for database connections</directive> <rationale>Ensures proper resource cleanup</rationale> </rule> <doNot> <item>Do not mix async and sync at the database level</item> <item>Do not force async on SQLite operations</item> <item>Do not use async database libraries</item> </doNot> </asyncSync> <handlers> <rule type="mandatory"> <directive>Implement both resource and tool handlers</directive> <rationale>Provides complete MCP protocol support</rationale> <structure> <item>All handlers must be async functions</item> <item>Use synchronous database operations inside handlers</item> <item>Use Context object only for progress/status updates</item> </structure> </rule> </handlers> </implementationPatterns> <dataManagement> <database> <rule type="mandatory"> <directive>Use single SQLite database for persistence</directive> <rationale>Simple, reliable, and matches project requirements</rationale> <doNot> <item>Do not introduce additional databases</item> <item>Do not implement caching layers</item> </doNot> </rule> <rule type="mandatory"> <directive>Use synchronous database operations</directive> <rationale>Matches SQLite's design and prevents complexity</rationale> <implementation> <item>Use context managers for connections</item> <item>Keep operations inside synchronous functions</item> <item>Handle errors appropriately</item> </implementation> </rule> </database> </dataManagement> <progressHandling> <contextUsage> <rule type="mandatory"> <directive>Use Context object only for progress and status updates</directive> <rationale>Maintains clear separation of concerns</rationale> <allowedUses> <item>Progress tracking</item> <item>Status updates</item> <item>Info messages</item> </allowedUses> <doNot> <item>Do not use Context for database operations</item> <item>Do not use Context for business logic</item> </doNot> </rule> </contextUsage> </progressHandling> <testing> <requirements> <rule type="mandatory"> <directive>Test async/sync boundaries carefully</directive> <rationale>Ensures proper operation of mixed async/sync code</rationale> <focusAreas> <item>Handler async behavior</item> <item>Database synchronous operations</item> <item>Progress reporting</item> <item>Status updates</item> </focusAreas> </rule> </requirements> </testing> </projectRules>

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/AgentWong/iac-memory-mcp-server-project'

If you have feedback or need assistance with the MCP directory API, please join our Discord server