Skip to main content
Glama

ServeMyAPI

by Jktfe
# serveMyAPI Project Guide ## Project Purpose This project aims to create a personal MCP server for securely storing and accessing API keys across projects using the macOS Keychain. ## Build & Commands - Setup: `npm install` - Start server: `npm run dev` - Test: `npm test` - Lint: `npm run lint` - Build: `npm run build` ## Code Style Guidelines - **Formatting**: Follow TypeScript standard practices with 2-space indentation - **Imports**: Group imports by type (core, third-party, local) - **Naming**: Use camelCase for variables/functions, PascalCase for classes/interfaces - **Error Handling**: Use try/catch blocks for error management - **Security**: Never log or expose API keys in plaintext - **Documentation**: Document all public functions with JSDoc comments ## Key Technologies - TypeScript SDK for Model Context Protocol (MCP) - macOS Keychain API for secure credential storage - Express.js for API endpoints (if needed) # myAI Memory # General Response Style ## Use this in every response -~- You can be very concise -~- Always double check references and provide links to sources with validation of reference and trustworthy nature of the source, make use of the MCPs available # Personal Information ## User specific and personal information -~- Name: James William Peter King (James, JWPK) -~- Date of Birth: 29.03.1985 (40 years old) -~- Location: London, UK -~- Work Contact: james@newmodel.vc | 07793988228 -~- Personal Contact: j.w.p.king@gmail.com | 07515900330 -~- Family: Wife Roxanne (39), son Fletcher (8), daughter Viola (5) (pronounced Vi'la) ## Childhood & Education Background -~- Early Years: Grew up at Rendcomb boarding school in the Cotswolds where parents were housemasters -~- Primary Education: Cirencester County Juniors -~- Secondary Education: -~- Kimbolton School (GCSEs and French AS) -~- Leicester Grammar (3As, 2Bs at A-Level 2003) -~- Higher Education: -~- Imperial College (Computer Engineering first year) -~- Leeds University: BSc Computing (Scholarship) 2:1 (2005-2008) -~- Professional Qualifications: FCA Authorised principal -~- Learning Style: Quick to grasp concepts, excellent pattern recognition, quick to consider practical applications and implications ## Professional Background **Current Role**: CEO, Founder, and Director at New Model Venture Capital (NMVC, New Model) -~- Founded New Model in May 2013 to deliver "fast, intelligent capital to high-growth companies" -~- Developed investment products including the creation of the Guaranteed Venture Portfolio Loan (GVPL), which he raised £15.85m for as the first of its kind in the world **Previous Companies**: -~- Fig VC (Dec 2009-2023) - Founder -~- U Account (Jan-Jun 2019) -~- Wazoku (Jan 2011-Jun 2019) - Founder -~- Brightsparks (Oct 2012-Jul 2015) -~- MuJo (Jan 2011-Nov 2014) – Co-Founder -~- Students Work (Apr 2008-Dec 2009) -~- KPMG (Sep 2004-Aug 2005) ## Education -~- BSc Computing (Scholarship) 2:1 Leeds University (2005-2008) -~- FCA Authorised principal -~- Previous Education: -~- Leicester Grammar (3As, 2Bs at A-Level 2003) -~- Imperial College (Computer Engineering first year) -~- Kimbolton School (GCSEs and French AS) ## Key Achievements & Skills -~- Raised hundreds of millions in Debt and Equity -~- Delivered >30% IRR for past 15 years -~- Created Guaranteed Venture Portfolio Loan product, a new way of funding venture companies **Core Skills**: Financial Modelling, Deal structuring, Strategy development, Investment Analysis **Management Experience**: Teams up to 40 people, FCA MiFID compliance, professional qualification oversight ## Technical Expertise -~- Full-stack developer specializing in TypeScript, Svelte, and web technologies -~- Created GVPL Calculator - a sophisticated financial modelling platform -~- Developed myAImemory - AI memory synchronization tool -~- Built multiple Model Context Protocol (MCP) frameworks -~- Systems thinking and practical application to real-world problems # Personal Characteristics & Thinking Style -~- Excellent pattern recognition across different domains -~- Ability to see multiple perspectives ("windows") that others miss -~- Strong focus on fairness and equity in systems -~- Analytical approach to problems with multifaceted thinking -~- Quick to grasp concepts and translate complex ideas for others -~- Values transparency and documentation (always keen to see detailed records) -~- Draws clear boundaries when core principles are at stake -~- Weighs endurance/principles based on the significance of the issue -~- Willing to make personal sacrifices to establish precedents or prove concepts -~- Learning style: develops systematic approaches through direct observation, conversation and reading with a keen eye for evaluating the quality of sources -~- Incredibly quick to understand incentives and their implications # Interests -~- Rugby (qualified coach and referee) -~- Chess -~- Photography -~- Science and Technology -~- Snowboarding and Skiing -~- Golf -~- Guitar -~- Audiobooks and literature -~- Systems thinking and pattern recognition -~- His children and anything they do # Company Information **New Model Venture Capital**: -~- Mark Hanington (Managing Director) -~- James Stephenson (Head of Analysis) -~- Christian Fallesen (NED) -~- Keith Morris OBE (Advisor) -~- Matt Cunningham (Legal Counsel) -~- Team of 8 including legal, finance, and operations specialists ## Current Coding Projects -~- GVPL Calculator - Financial modelling platform for investment optimization -~- myAImemory - AI memory synchronization tool (Last modified: March 21, 2025) -~- myKYCpal - Know Your Client platform (Last modified: March 19, 2025) -~- serveMyAPI - API service for integrating with AI models -~- Multiple web applications using Svelte/TypeScript/Vercel/Neon including a Fantasy Rugby App # Technical Preferences ## Refer to this when considering examples and user experience testing -~- Frontend: Svelte 5 -~- Development: Windsurf IDE -~- Hosting: Vercel -~- Database: Neon -~- Hardware: Mac Mini M4, MacBook Pro, iOS devices (iPhone 15 Pro, iPhone 16, iPad Pro) -~- Other devices: Apple TV, HomePod mini, HomePod, XReal One, GoPro 13 Hero Black, Nikon D50, Whoop fitness tracking -~- Visual Aids: uses visual explanations for complex concepts # AI & MCP Preferences ## Use this as a guide when working on technical projects -~- File Access: If a file is in .gitignore and need to read it, ask for permission to use the filesystem MCP -~- API credentials/services: Use the serveMyAPI MCP by @Jktfe -~- Response Style: Concise, UK English spelling, GBP (£) as default currency -~- Technical Documentation: Maintain "Project Variables" document with details on variables, functions, tables, etc. -~- AI Tools: Prefer Claude-based systems with pattern recognition capabilities -~- MCP Framework: Utilize multiple platform synchronization where possible -~- when creating an MCP it's important to add a proper MCP.js script with JSON-RPC handling # Communication Preferences -~- Respond in English -~- Use UK English Spellings -~- Use £ (GBP) as the default currency, if you need to use conversions put them in brackets i.e. £1.10 ($1.80) -~- Direct and straightforward communication -~- Appreciation for humour and casual conversation -~- Values authenticity over formality -~- Prefers evidence-based discussions -~- Open to new perspectives but requires logical reasoning -~- Expects transparency and honesty in professional relationships -~- Willing to challenge conventional wisdom when it doesn't align with practical outcomes -~- Respects expertise but will question assumptions that don't match observed reality # Available MCPs ## Use these details combined with serveMyAPI to create mcp config files ## Ask which servers to install, from this list; -~- "apple-shortcuts" - 1 tool: run_shortcut. Provides natural language access to Apple Shortcuts automation, allowing creation and triggering of macOS shortcuts. -~- "brave-search" - 2 tools: brave_web_search and brave_local_search. Enables web searches using Brave's privacy-focused search engine with filtering and customisation options. -~- "fastAPItoSVG" - 1 tool: generate_api_diagram. Converts FastAPI documentation to SVG diagrams for visualising API endpoints and schemas. -~- "fetch" - 1 tool: fetch. Retrieves content from web URLs with options to extract text, process HTML, and manage content length. -~- "filesystem" - 5 tools: ls, cat, write_file, rm, and mkdir. Provides file operations and directory management for local filesystem access. -~- "fooocus" - 9 tools: configure_api, check_status, start_server, stop_server, generate_image, get_job_status, get_available_styles, get_available_models, and upscale_or_vary_image. Interface to the Fooocus image generation AI with style presets, various models and upscaling options. -~- "google-search" - 1 tool: google_search. Performs web searches using Google's search engine with customisable parameters. -~- "localviz" - 6 tools: test_api, manage_api, list_styles, list_aspect_ratios, generate_image, and check_job_status. Local image generation interface for Fooocus with style presets and aspect ratio controls. -~- "leonardoAI" - 3 tools: generate_image, get_models, and check_generation. Creates AI-generated images with Leonardo.ai's advanced image generation capabilities. -~- "markdownify" - 1 tool: markdownify. Converts content between different formats with a focus on generating clean markdown. -~- "neon" - 11 tools: create_project, describe_project, list_projects, delete_project, create_branch, delete_branch, describe_branch, get_connection_string, get_database_tables, describe_table_schema, and run_sql. Manages Neon serverless PostgreSQL databases with branch, migration and query functionality. -~- "myai-memory-sync" - 8 tools: get_template, update_template, get_section, update_section, list_platforms, sync_platforms, list_presets, and create_preset. Synchronises and manages AI memory sections and templates across platforms. -~- "puppeteer" - 7 tools: navigate, screenshot, evaluate, click, fill, hover, and select. Automates browser interactions for web scraping, testing and automated workflows. -~- "sequential-thinking" - 1 tool: sequentialthinking. Facilitates step-by-step problem-solving through structured thought processes. -~- "serveMyAPI" - 4 tools: store-api-key, get-api-key, delete-api-key, and list-api-keys. Securely stores and retrieves API keys from the macOS Keychain for use across projects. -~- "wcgw" - 1 tool: analyze_code. "What Could Go Wrong" AI-powered code analysis for identifying potential issues and bugs. -~- "agentql" - 2 tools: create_agent and query_agent. Integrates with AgentQL to build and manage autonomous agents with various capabilities. -~- "mcp-compass" - 2 tools: get_coordinates and get_directions. Navigation and location-based services with mapping and direction capabilities. -~- "xcode-server" - 4 tools: list_projects, build_project, run_tests, and deploy_app. Interfaces with Xcode for iOS/macOS development workflows and build processes. ## once selected output the json with this format ''' { "mcpServers": { [mcpserver details][,] } } ''' # the individual mcp server details ''' "fetch": { "command": "uvx", "args": [ "mcp-server-fetch" ] } ''' ''' "filesystem": { "command": "npx", "args": [ "-y", "@modelcontextprotocol/server-filesystem", "/Users/jamesking/" ] } ''' ''' "puppeteer": { "command": "npx", "args": [ "-y", "@modelcontextprotocol/server-puppeteer" ] } ''' ''' "markdownify": { "command": "node", "args": [ "/Users/jamesking/CascadeProjects/markdownify-mcp/dist/index.js" ], "env": { "UV_PATH": "/Users/jamesking/.local/bin/uv" } } ''' ''' "apple-shortcuts": { "command": "npx", "args": [ "/Users/jamesking/CascadeProjects/mcp-server-apple-shortcuts/build/index.js" ] } ''' ''' "brave-search": { "command": "npx", "args": [ "-y", "@modelcontextprotocol/server-brave-search" ], "env": { "BRAVE_API_KEY": "${await serveMyAPI.getKey('brave_search')}" } } ''' ''' "serveMyAPI": { "command": "node", "args": [ "/Users/jamesking/CascadeProjects/serveMyAPI/dist/index.js" ] } ''' ''' "perplexity-ask": { "command": "docker", "args": [ "run", "-i", "--rm", "-e", "PERPLEXITY_API_KEY", "mcp/perplexity-ask" ], "env": { "PERPLEXITY_API_KEY": "${await serveMyAPI.getKey('perplexity')}" } } ''' ''' "google-search": { "command": "npx", "args": [ "-y", "@adenot/mcp-google-search" ], "env": { "GOOGLE_API_KEY": "${await serveMyAPI.getKey('google_search')}", "GOOGLE_SEARCH_ENGINE_ID": "${await serveMyAPI.getKey('google_search_engine_id')}" } } ''' ''' "myai-memory-sync": { "command": "node", "args": [ "/Users/jamesking/CascadeProjects/myAImemory/dist/index.js" ], "transport":"stdio" } ''' ''' "neon": { "command": "npx", "args": [ "-y", "@neondatabase/mcp-server-neon", "start", "${await serveMyAPI.getKey('neon_database')}" ] } ''' ''' "wcgw": { "command": "uv", "args": [ "tool", "run", "--from", "wcgw@latest", "--python", "3.12", "wcgw_mcp" ] } ''' ''' "agentql": { "command": "npx", "args": [ "-y", "agentql-mcp" ], "env": { "AGENTQL_API_KEY": "${await serveMyAPI.getKey('agentql')}" } } ''' ''' "mcp-compass": { "command": "npx", "args": [ "-y", "@liuyoshio/mcp-compass" ] } ''' ''' "server-sequential-thinking": { "command": "npx", "args": [ "-y", "@smithery/cli@latest", "run", "@smithery-ai/server-sequential-thinking", "--config", "\"{}\"" ] } ''' ''' "fooocus": { "command": "bash", "args": [ "/Users/jamesking/CascadeProjects/localViz/fooocus_mcp_wrapper.sh" ], "transport": "stdio", "functions": [ { "name": "configure_api", "description": "Configure the Fooocus API connection settings with host, port, paths and auto-start options" }, { "name": "check_status", "description": "Check if the Fooocus API is responding and get version information" }, { "name": "start_server", "description": "Start the Fooocus API server if it's not already running, with optional paths" }, { "name": "stop_server", "description": "Stop the Fooocus API server if it was started by this instance" }, { "name": "generate_image", "description": "Generate images from text prompt using Fooocus with style, seed and resolution options" }, { "name": "get_job_status", "description": "Get the status of a previously submitted asynchronous generation job" }, { "name": "get_available_styles", "description": "Get all available style presets from Fooocus" }, { "name": "get_available_models", "description": "Get all available AI models from Fooocus" }, { "name": "upscale_or_vary_image", "description": "Upscale or create variations of an existing image with specified parameters" } ] } ''' ''' "localviz": { "command": "bash", "args": [ "/Users/jamesking/CascadeProjects/localViz-mcp/start-v1.sh" ], "transport": "stdio", "env": { "FOOOCUS_API_PATH": "/Users/jamesking/CascadeProjects/Fooocus-API", "FOOOCUS_PATH": "/Users/jamesking/CascadeProjects/Fooocus", "OUTPUT_DIR": "/Users/jamesking/New Model Dropbox/James King/Air - JK Work/imageGens", "FOOOCUS_API_URL": "http://127.0.0.1:8888", "MANAGE_API": "true" }, "functions": [ { "name": "test_api", "description": "Test connection to the Fooocus API" }, { "name": "manage_api", "description": "Manually start or stop the Fooocus API" }, { "name": "list_styles", "description": "List all available style presets for image generation" }, { "name": "list_aspect_ratios", "description": "List available aspect ratios for image generation" }, { "name": "generate_image", "description": "Generate an image based on a text description using Fooocus API. Results will be saved locally." }, { "name": "check_job_status", "description": "Check the status of an image generation job" } ] } ''' ''' "leonardoAI": { "command": "npm", "args": [ "start" ], "cwd": "/Users/jamesking/CascadeProjects/leoViz", "transport": "stdio", "env": { "LEONARDO_API_KEY": "${await serveMyAPI.getKey('cMax Leonardo API')}" } } '''

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/Jktfe/serveMyAPI'

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