Skip to main content
Glama

Agent Knowledge MCP

instructions_server.py5.28 kB
"""FastMCP server for AI assistant instructions and smart prompting guidance.""" import os from pathlib import Path from typing import Literal from fastmcp import FastMCP app = FastMCP(name="Instructions Server") def _load_copilot_instructions() -> str: """Load the copilot instructions content for AI assistants.""" try: instructions_path = Path(__file__).parent.parent.parent / "resources" / "copilot-instructions.md" if not instructions_path.exists(): return "Copilot instructions not found. Please refer to the GitHub repository: https://github.com/itshare4u/AgentKnowledgeMCP" with open(instructions_path, 'r', encoding='utf-8') as f: content = f.read().strip() if not content: return "Copilot instructions file is empty. Please check the installation or refer to online documentation." return content except UnicodeDecodeError: return "Error reading copilot instructions (encoding issue). Please reinstall AgentKnowledgeMCP or check file integrity." except PermissionError: return "Permission denied reading copilot instructions. Please check file permissions for the AgentKnowledgeMCP installation." except Exception as e: return f"Error loading copilot instructions: {str(e)}. Please refer to GitHub documentation: https://github.com/itshare4u/AgentKnowledgeMCP" def _load_prompt_template(template_name: str, user_request: str) -> str: """Load a prompt template from markdown file and replace placeholders. Args: template_name: Name of the template file (without .md extension) user_request: User's request to replace {{user_request}} placeholder Returns: Processed template content with placeholders replaced """ try: template_path = Path(__file__).parent.parent / "templates" / f"{template_name}.md" if not template_path.exists(): return f"Template '{template_name}' not found. Please check the template files." with open(template_path, 'r', encoding='utf-8') as f: template_content = f.read().strip() if not template_content: return f"Template '{template_name}' is empty. Please check the template file." # Replace placeholders processed_content = template_content.replace("{{user_request}}", user_request) return processed_content except UnicodeDecodeError: return f"Error reading template '{template_name}' (encoding issue). Please check file integrity." except PermissionError: return f"Permission denied reading template '{template_name}'. Please check file permissions." except Exception as e: return f"Error loading template '{template_name}': {str(e)}. Please check the template file." @app.prompt( name="copilot_instructions", description="AI Assistant instructions for optimal AgentKnowledgeMCP usage - Complete behavioral guidelines and mandatory protocols", tags={"copilot", "instructions", "ai", "assistant", "guidelines", "protocols", "behavioral"} ) async def copilot_instructions() -> str: """Return the complete copilot instructions content for AI assistants working with AgentKnowledgeMCP.""" # Load the copilot instructions content instructions_content = _load_copilot_instructions() # Return the content with additional context return instructions_content @app.prompt( name="smart_prompting_assistant", description="Smart prompting assistant for managing project workflows, rules, and memories in .knowledges directory", tags={"smart-prompting", "workflows", "rules", "memories", "knowledges", "project-management"} ) async def smart_prompting_assistant( content_type: Literal["workflow", "rules", "memories"], user_request: str ) -> str: """Smart assistant for managing project knowledge in .knowledges directory. Args: content_type: Type of content to manage (workflow, rules, or memories) user_request: What the user wants to add or manage """ # Map content types to template names template_mapping = { "workflow": "workflow_assistant", "rules": "rules_assistant", "memories": "memories_assistant" } template_name = template_mapping.get(content_type) if not template_name: return f"Invalid content type '{content_type}'. Please choose from: workflow, rules, memories" # Load and process template return _load_prompt_template(template_name, user_request) def cli_main(): """CLI entry point for Instructions FastMCP server.""" print("Starting AgentKnowledgeMCP Instructions FastMCP server...") print("Available prompts:") print(" • mcp_usage_guide - Comprehensive usage guide with scenarios and tutorials") print(" • copilot_instructions - AI assistant behavioral guidelines and protocols") print(" • smart_prompting_assistant - Smart assistant for managing workflows, rules, and memories") print("Returns complete guidance content for optimal MCP server usage") app.run() if __name__ == "__main__": cli_main()

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/itshare4u/AgentKnowledgeMCP'

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