diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 64178c3c..0186ec86 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -193,7 +193,12 @@ jobs: create-release: needs: [update-packages, create-metadata, publish-pypi, publish-npm] - if: needs.update-packages.outputs.changes_made == 'true' + if: | + # Always evaluate this condition, even if a dependency failed + # Create a release if changes were made and at least one publish succeeded + always() && + needs.update-packages.outputs.changes_made == 'true' && + (needs.publish-pypi.result == 'success' || needs.publish-npm.result == 'success') runs-on: ubuntu-latest environment: release permissions: diff --git a/README.md b/README.md index 5edac12c..e2c6c566 100644 --- a/README.md +++ b/README.md @@ -166,6 +166,7 @@ Official integrations are maintained by companies building production ready MCP - DeepL Logo **[DeepL](https://github.com/DeepLcom/deepl-mcp-server)** - Translate or rewrite text with [DeepL](https://deepl.com)'s very own AI models using [the DeepL API](https://developers.deepl.com/docs) - Defang Logo **[Defang](https://github.com/DefangLabs/defang/blob/main/src/pkg/mcp/README.md)** - Deploy your project to the cloud seamlessly with the [Defang](https://www.defang.io) platform without leaving your integrated development environment - Detailer Logo **[Detailer](https://detailer.ginylil.com/)** – Instantly generate rich, AI-powered documentation for your GitHub repositories. Designed for AI agents to gain deep project context before taking action. +- DevCycle Logo **[DevCycle](https://docs.devcycle.com/cli-mcp/mcp-getting-started)** - Create and monitor feature flags using natural language in your AI coding assistant. - DevHub Logo **[DevHub](https://github.com/devhub/devhub-cms-mcp)** - Manage and utilize website content within the [DevHub](https://www.devhub.com) CMS platform - DevRev Logo **[DevRev](https://github.com/devrev/mcp-server)** - An MCP server to integrate with DevRev APIs to search through your DevRev Knowledge Graph where objects can be imported from diff. Sources listed [here](https://devrev.ai/docs/import#available-sources). - DexPaprika Logo **[DexPaprika (CoinPaprika)](https://github.com/coinpaprika/dexpaprika-mcp)** - Access real-time DEX data, liquidity pools, token information, and trading analytics across multiple blockchain networks with [DexPaprika](https://dexpaprika.com) by CoinPaprika. @@ -222,6 +223,7 @@ Official integrations are maintained by companies building production ready MCP - Heroku Logo **[Heroku](https://github.com/heroku/heroku-mcp-server)** - Interact with the Heroku Platform through LLM-driven tools for managing apps, add-ons, dynos, databases, and more. - HeyOnCall Logo **[HeyOnCall](https://heyoncall.com/blog/mcp-server-for-paging-a-human)** - Page a human, sending critical or non-critical alerts to the free [HeyOnCall](https://heyoncall.com/) iOS or Android apps. - Hiveflow Logo **[Hiveflow](https://github.com/hiveflowai/hiveflow-mcp-server)** - Create, manage, and execute agentic AI workflows directly from your assistant. +- Hive Intelligence Logo **[Hive Intelligence](https://github.com/hive-intel/hive-crypto-mcp)** - Ultimate cryptocurrency MCP for AI assistants with unified access to crypto, DeFi, and Web3 analytics - Hologres Logo **[Hologres](https://github.com/aliyun/alibabacloud-hologres-mcp-server)** - Connect to a [Hologres](https://www.alibabacloud.com/en/product/hologres) instance, get table metadata, query and analyze data. - Homebrew Logo **[Homebrew](https://docs.brew.sh/MCP-Server)** Allows [Homebrew](https://brew.sh) users to run Homebrew commands locally. - Honeycomb Logo **[Honeycomb](https://github.com/honeycombio/honeycomb-mcp)** Allows [Honeycomb](https://www.honeycomb.io/) Enterprise customers to query and analyze their data, alerts, dashboards, and more; and cross-reference production behavior with the codebase. @@ -292,11 +294,13 @@ Official integrations are maintained by companies building production ready MCP - mimilabs **[mimilabs](https://www.mimilabs.ai/mcp)** - A US healthcare data discovery guide for 50+ gov sources and thousands of publicly available US healthcare datasets regarding gov-funded programs, policies, drug pricings, clinical trials, etc. - Mobb **[Mobb](https://github.com/mobb-dev/bugsy?tab=readme-ov-file#model-context-protocol-mcp-server)** - The [Mobb Vibe Shield](https://vibe.mobb.ai/) MCP server identifies and remediates vulnerabilities in both human and AI-written code, ensuring your applications remain secure without slowing development. - **[Momento](https://github.com/momentohq/mcp-momento)** - Momento Cache lets you quickly improve your performance, reduce costs, and handle load at any scale. +- Monday.com Logo **[Monday.com](https://github.com/mondaycom/mcp)** - Interact with Monday.com boards, items, accounts and work forms. - **[MongoDB](https://github.com/mongodb-js/mongodb-mcp-server)** - Both MongoDB Community Server and MongoDB Atlas are supported. - Moorcheh Logo **[Moorcheh](https://github.com/moorcheh-ai/moorcheh-mcp)** - Embed, store, and search your documents, and build secure chatbots and RAG systems with Moorcheh's information-theoretic semantic search engine - MotherDuck Logo **[MotherDuck](https://github.com/motherduckdb/mcp-server-motherduck)** - Query and analyze data with MotherDuck and local DuckDB - Mulesoft Logo **[Mulesoft](https://www.npmjs.com/package/@mulesoft/mcp-server)** - Build, deploy, and manage MuleSoft applications with natural language, directly inside any compatible IDE. - Multiplayer Logo **[Multiplayer](https://www.multiplayer.app/docs/ai/mcp-server)** - Analyze your full stack session recordings easily. Record a bug with Multiplayer, analyze and fix it with LLM +- Nango Logo **[Nango](https://docs.nango.dev/guides/use-cases/mcp-server)** - Integrate your AI agent with 500+ APIs: Auth, custom tools, and observability. Open-source. - NanoVMs Logo **[NanoVMs](https://github.com/nanovms/ops-mcp)** - Easily Build and Deploy unikernels to any cloud. - Needle AI Logo **[Needle](https://github.com/needle-ai/needle-mcp)** - Production-ready RAG out of the box to search and retrieve data from your own documents. - Neo4j Logo **[Neo4j](https://github.com/neo4j-contrib/mcp-neo4j/)** - Neo4j graph database server (schema + read/write-cypher) and separate graph database backed memory @@ -346,6 +350,7 @@ Official integrations are maintained by companies building production ready MCP - **[Pinecone Assistant](https://github.com/pinecone-io/assistant-mcp)** - Retrieves context from your [Pinecone Assistant](https://docs.pinecone.io/guides/assistant/mcp-server) knowledge base. - Pipedream Logo **[Pipedream](https://github.com/PipedreamHQ/pipedream/tree/master/modelcontextprotocol)** - Connect with 2,500 APIs with 8,000+ prebuilt tools. - PlayCanvas Logo **[PlayCanvas](https://github.com/playcanvas/editor-mcp-server)** - Create interactive 3D web apps with the PlayCanvas Editor. +- Playwright Logo **[Playwright](https://github.com/microsoft/playwright-mcp)** — Browser automation MCP server using Playwright to run tests, navigate pages, capture screenshots, scrape content, and automate web interactions reliably. - Plugged.in Logo **[Plugged.in](https://github.com/VeriTeknik/pluggedin-mcp)** - A comprehensive proxy that combines multiple MCP servers into a single MCP. It provides discovery and management of tools, prompts, resources, and templates across servers, plus a playground for debugging when building MCP servers. - Port Logo **[Port IO](https://github.com/port-labs/port-mcp-server)** - Access and manage your software catalog to improve service quality and compliance. - **[PostHog](https://github.com/posthog/mcp)** - Interact with PostHog analytics, feature flags, error tracking and more with the official PostHog MCP server. @@ -938,7 +943,7 @@ A growing set of community-developed and maintained servers demonstrates various - **[Minima](https://github.com/dmayboroda/minima)** - MCP server for RAG on local files - **[Modao Proto MCP](https://github.com/modao-dev/modao-proto-mcp)** - AI-powered HTML prototype generation server that converts natural language descriptions into complete HTML code with modern design and responsive layouts. Supports design description expansion and seamless integration with Modao workspace. - **[Mobile MCP](https://github.com/mobile-next/mobile-mcp)** (by Mobile Next) - MCP server for Mobile(iOS/Android) automation, app scraping and development using physical devices or simulators/emulators. -- **[Monday.com](https://github.com/sakce/mcp-server-monday)** - MCP Server to interact with Monday.com boards and items. +- **[Monday.com (unofficial)](https://github.com/sakce/mcp-server-monday)** - MCP Server to interact with Monday.com boards and items. - **[MongoDB](https://github.com/kiliczsh/mcp-mongo-server)** - A Model Context Protocol Server for MongoDB. - **[MongoDB & Mongoose](https://github.com/nabid-pf/mongo-mongoose-mcp)** - MongoDB MCP Server with Mongoose Schema and Validation. - **[MongoDB Lens](https://github.com/furey/mongodb-lens)** - Full Featured MCP Server for MongoDB Databases. diff --git a/src/memory/index.ts b/src/memory/index.ts index 4590a1db..982c617b 100644 --- a/src/memory/index.ts +++ b/src/memory/index.ts @@ -60,8 +60,18 @@ class KnowledgeGraphManager { private async saveGraph(graph: KnowledgeGraph): Promise { const lines = [ - ...graph.entities.map(e => JSON.stringify({ type: "entity", ...e })), - ...graph.relations.map(r => JSON.stringify({ type: "relation", ...r })), + ...graph.entities.map(e => JSON.stringify({ + type: "entity", + name: e.name, + entityType: e.entityType, + observations: e.observations + })), + ...graph.relations.map(r => JSON.stringify({ + type: "relation", + from: r.from, + to: r.to, + relationType: r.relationType + })), ]; await fs.writeFile(MEMORY_FILE_PATH, lines.join("\n")); } @@ -219,10 +229,12 @@ server.setRequestHandler(ListToolsRequestSchema, async () => { }, }, required: ["name", "entityType", "observations"], + additionalProperties: false, }, }, }, required: ["entities"], + additionalProperties: false, }, }, { @@ -241,10 +253,12 @@ server.setRequestHandler(ListToolsRequestSchema, async () => { relationType: { type: "string", description: "The type of the relation" }, }, required: ["from", "to", "relationType"], + additionalProperties: false, }, }, }, required: ["relations"], + additionalProperties: false, }, }, { @@ -266,10 +280,12 @@ server.setRequestHandler(ListToolsRequestSchema, async () => { }, }, required: ["entityName", "contents"], + additionalProperties: false, }, }, }, required: ["observations"], + additionalProperties: false, }, }, { @@ -285,6 +301,7 @@ server.setRequestHandler(ListToolsRequestSchema, async () => { }, }, required: ["entityNames"], + additionalProperties: false, }, }, { @@ -306,10 +323,12 @@ server.setRequestHandler(ListToolsRequestSchema, async () => { }, }, required: ["entityName", "observations"], + additionalProperties: false, }, }, }, required: ["deletions"], + additionalProperties: false, }, }, { @@ -328,11 +347,13 @@ server.setRequestHandler(ListToolsRequestSchema, async () => { relationType: { type: "string", description: "The type of the relation" }, }, required: ["from", "to", "relationType"], + additionalProperties: false, }, description: "An array of relations to delete" }, }, required: ["relations"], + additionalProperties: false, }, }, { @@ -341,6 +362,7 @@ server.setRequestHandler(ListToolsRequestSchema, async () => { inputSchema: { type: "object", properties: {}, + additionalProperties: false, }, }, { @@ -352,6 +374,7 @@ server.setRequestHandler(ListToolsRequestSchema, async () => { query: { type: "string", description: "The search query to match against entity names, types, and observation content" }, }, required: ["query"], + additionalProperties: false, }, }, { @@ -367,6 +390,7 @@ server.setRequestHandler(ListToolsRequestSchema, async () => { }, }, required: ["names"], + additionalProperties: false, }, }, ],