Overview
PG-Memory exposes a developer-first integration surface: authenticated REST endpoints for content operations, MCP transport for agents, and OAuth-backed Claude Connect for managed connectors.
Quickstart
https://memory-api.pragmaticgrowth.com/apihttps://memory-api.pragmaticgrowth.com/mcpSign in to access the API. You can still review the exact header formats below.
Accepted Auth Headers
Authorization: Bearer YOUR_API_KEY
X-API-Key: YOUR_API_KEYHTTP MCP Client Configuration
{
"mcpServers": {
"pg-memory": {
"type": "http",
"url": "https://memory-api.pragmaticgrowth.com/mcp",
"headers": {
"Authorization": "Bearer YOUR_API_KEY"
}
}
}
}STDIO MCP Client Configuration
{
"mcpServers": {
"pg-memory": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@pragmatic-growth/memory-mcp"],
"env": {
"API_KEY": "YOUR_API_KEY",
"MCP_SERVER_URL": "https://memory-api.pragmaticgrowth.com/mcp"
}
}
}
}REST API Example
curl "https://memory-api.pragmaticgrowth.com/api/search?query=Form%205472&limit=5" \
-H "Authorization: Bearer YOUR_API_KEY"Connect to Claude
Connect your PG-Memory knowledge base to Claude as a custom connector. After setup, Claude can search, create, and manage your articles directly.
Sign in to your PG-Memory account to see the connector setup values.
Sign InREST API
Search, inspect, and filter endpoint contracts by auth mode and surface area.
Articles
Knowledge base content management endpoints.
/api/articlesList articles with pagination, filtering, and search query support.
Response Example
{
"articles": [
{
"id": "art_123",
"title": "Form 5472 Guide",
"summary": "Summary text..."
}
],
"pagination": {
"limit": 20,
"offset": 0,
"page": 1,
"pageSize": 20,
"total": 42,
"hasMore": true
}
}Error Responses
View Schemas
Query Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"limit": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 200
},
"offset": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"page": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"pageSize": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 200
},
"q": {
"type": "string",
"minLength": 1,
"maxLength": 500
},
"category": {
"type": "string"
},
"orderBy": {
"default": "updated_at",
"type": "string",
"enum": [
"created_at",
"updated_at"
]
},
"orderDir": {
"default": "DESC",
"type": "string",
"enum": [
"ASC",
"DESC"
]
}
},
"required": [
"orderBy",
"orderDir"
],
"additionalProperties": false
}/api/articles/:idFetch a single article by ID.
Response Example
{
"id": "art_123",
"title": "Form 5472 Guide",
"content": "# Overview"
}Error Responses
View Schemas
Path Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1
}
},
"required": [
"id"
],
"additionalProperties": false
}/api/articlesCreate an article and optionally auto-generate metadata.
Response Example
{
"id": "art_123",
"title": "New Article",
"created_at": "2026-02-17T00:00:00.000Z"
}Error Responses
View Schemas
Request Body Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"title": {
"type": "string",
"minLength": 1,
"maxLength": 500
},
"content": {
"type": "string",
"minLength": 1
},
"summary": {
"type": "string"
},
"category_id": {
"anyOf": [
{
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
{
"type": "null"
}
]
},
"metadata": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"generateMetadata": {
"default": true,
"type": "boolean"
},
"gapQueryId": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
}
},
"required": [
"title",
"content",
"generateMetadata"
],
"additionalProperties": false
}/api/articles/:idUpdate article fields and optionally regenerate embeddings.
Response Example
{
"id": "art_123",
"title": "Updated Title",
"updated_at": "2026-02-17T00:00:00.000Z"
}Error Responses
View Schemas
Path Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1
}
},
"required": [
"id"
],
"additionalProperties": false
}Request Body Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"title": {
"type": "string",
"minLength": 1,
"maxLength": 500
},
"content": {
"type": "string",
"minLength": 1
},
"summary": {
"type": "string"
},
"category_id": {
"anyOf": [
{
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
{
"type": "null"
}
]
},
"metadata": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"regenerateEmbedding": {
"default": true,
"type": "boolean"
},
"version": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
}
},
"required": [
"regenerateEmbedding"
],
"additionalProperties": false
}/api/articles/:idDelete an article permanently.
Response Example
{
"status": "deleted"
}Error Responses
View Schemas
Path Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1
}
},
"required": [
"id"
],
"additionalProperties": false
}Categories
Category CRUD endpoints used for organizing articles and Q&A.
/api/categoriesList all categories for the authenticated user.
Response Example
{
"categories": [
{
"id": "cat_123",
"slug": "tax",
"name": "Tax",
"color": "#16A34A",
"article_count": 12
}
]
}Error Responses
/api/categories/:idFetch a single category by ID.
Response Example
{
"id": "cat_123",
"slug": "tax",
"name": "Tax"
}Error Responses
View Schemas
Path Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1
}
},
"required": [
"id"
],
"additionalProperties": false
}/api/categoriesCreate a new category.
Response Example
{
"id": "cat_123",
"slug": "tax",
"name": "Tax"
}Error Responses
View Schemas
Request Body Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"slug": {
"type": "string",
"minLength": 1,
"maxLength": 100
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 255
},
"description": {
"type": "string"
},
"color": {
"type": "string",
"pattern": "^#[0-9A-F]{6}$"
},
"display_order": {
"type": "number"
}
},
"required": [
"slug",
"name"
],
"additionalProperties": false
}/api/categories/:idUpdate an existing category by ID.
Response Example
{
"id": "cat_123",
"slug": "tax",
"name": "Tax Filing"
}Error Responses
View Schemas
Path Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1
}
},
"required": [
"id"
],
"additionalProperties": false
}Request Body Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 255
},
"description": {
"type": "string"
},
"color": {
"type": "string",
"pattern": "^#[0-9A-F]{6}$"
},
"display_order": {
"type": "number"
}
},
"additionalProperties": false
}/api/categories/:idDelete a category when it has no attached content.
Response Example
{
"status": "deleted"
}Error Responses
View Schemas
Path Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1
}
},
"required": [
"id"
],
"additionalProperties": false
}Q&A
Q&A and gap-management REST endpoints.
/api/qaList Q&A records with pagination, filtering, and analytics stats.
Response Example
{
"items": [
{
"id": "qa_123",
"question": "What is Form 5472?",
"status": "approved"
}
],
"pagination": {
"limit": 20,
"offset": 0,
"total": 120,
"hasMore": true
}
}Error Responses
View Schemas
Query Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"limit": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 200
},
"offset": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"page": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"pageSize": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 200
},
"q": {
"type": "string",
"minLength": 1,
"maxLength": 500
},
"status": {
"type": "string",
"enum": [
"gap",
"draft",
"approved"
]
},
"statuses": {
"type": "string"
},
"category": {
"type": "string"
},
"source": {
"type": "string"
},
"orderBy": {
"default": "created_at",
"type": "string",
"enum": [
"created_at",
"updated_at",
"approved_at"
]
},
"orderDir": {
"default": "DESC",
"type": "string",
"enum": [
"ASC",
"DESC"
]
},
"relatedArticleId": {
"type": "string"
}
},
"required": [
"orderBy",
"orderDir"
],
"additionalProperties": false
}/api/qa/:idGet a single Q&A record by ID.
Response Example
{
"id": "qa_123",
"question": "What is Form 5472?",
"status": "approved"
}Error Responses
View Schemas
Path Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1
}
},
"required": [
"id"
],
"additionalProperties": false
}/api/qaCreate a new Q&A record and generate embedding when possible.
Response Example
{
"id": "qa_123",
"question": "What is Form 5472?",
"status": "draft"
}Error Responses
View Schemas
Request Body Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"question": {
"type": "string",
"minLength": 1
},
"answer": {
"type": "string"
},
"status": {
"type": "string",
"enum": [
"gap",
"draft",
"approved"
]
},
"source": {
"type": "string",
"enum": [
"email",
"chat",
"mcp",
"manual"
]
},
"related_article_id": {
"type": "string"
},
"category_id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"metadata": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"gapQueryId": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
}
},
"required": [
"question"
],
"additionalProperties": false
}/api/qa/:idUpdate fields for an existing Q&A record.
Response Example
{
"id": "qa_123",
"status": "approved"
}Error Responses
View Schemas
Path Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1
}
},
"required": [
"id"
],
"additionalProperties": false
}Request Body Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"question": {
"type": "string",
"minLength": 1
},
"answer": {
"type": "string"
},
"status": {
"type": "string",
"enum": [
"gap",
"draft",
"approved"
]
},
"source": {
"type": "string",
"enum": [
"email",
"chat",
"mcp",
"manual"
]
},
"related_article_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"category_id": {
"anyOf": [
{
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
{
"type": "null"
}
]
},
"metadata": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
},
"additionalProperties": false
}/api/qa/:idDelete a Q&A record permanently.
Response Example
{
"status": "deleted"
}Error Responses
View Schemas
Path Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1
}
},
"required": [
"id"
],
"additionalProperties": false
}/api/qa/batchApply status/category/related-article changes to many Q&A IDs.
Response Example
{
"updated": 3,
"requested": 3
}Error Responses
View Schemas
Request Body Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"ids": {
"minItems": 1,
"maxItems": 200,
"type": "array",
"items": {
"type": "string",
"minLength": 1
}
},
"changes": {
"type": "object",
"properties": {
"status": {
"type": "string",
"enum": [
"gap",
"draft",
"approved"
]
},
"category_id": {
"anyOf": [
{
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
{
"type": "null"
}
]
},
"related_article_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"additionalProperties": false
}
},
"required": [
"ids",
"changes"
],
"additionalProperties": false
}/api/qa/suggest-draftGenerate a suggested answer draft using retrieval + LLM.
Response Example
{
"draft": "## Draft Answer",
"confidence": "medium",
"sources": []
}Error Responses
View Schemas
Request Body Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"question": {
"type": "string",
"minLength": 1,
"maxLength": 2000
},
"maxSources": {
"default": 5,
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 10
}
},
"required": [
"question",
"maxSources"
],
"additionalProperties": false
}Search
Semantic search API endpoint for direct integration.
/api/searchPerform hybrid semantic + FTS5 search over articles and approved Q&A.
Response Example
{
"results": [
{
"id": "art_123",
"type": "article",
"title": "Form 5472",
"score": 0.83
}
],
"maxSimilarity": 0.83,
"isAnswered": true,
"latencyMs": 94
}Error Responses
View Schemas
Query Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"query": {
"type": "string",
"minLength": 1
},
"threshold": {
"default": 0.6,
"type": "number",
"minimum": 0,
"maximum": 1
},
"limit": {
"default": 5,
"type": "number",
"minimum": 1,
"maximum": 50
}
},
"required": [
"query",
"threshold",
"limit"
],
"additionalProperties": false
}Query Logs
Query and gap analytics endpoints.
/api/logsList recent query logs with related retrieved article titles.
Response Example
{
"queries": [
{
"id": "log_123",
"query": "Form 5472 due date",
"is_answered": true
}
],
"total": 1
}Error Responses
View Schemas
Query Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"days": {
"default": 7,
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 365
},
"limit": {
"default": 100,
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 500
}
},
"required": [
"days",
"limit"
],
"additionalProperties": false
}/api/logs/:idGet one query log item by ID.
Response Example
{
"gap": {
"id": "log_123",
"query": "Unanswered question",
"is_answered": false
}
}Error Responses
View Schemas
Path Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1
}
},
"required": [
"id"
],
"additionalProperties": false
}Health
Public health and readiness endpoint.
/api/healthReturn application and database health status.
- This endpoint is publicly accessible.
Response Example
{
"status": "healthy",
"version": "4.0.0",
"database": {
"connected": true,
"articleCount": 150,
"categoryCount": 12
}
}MCP Protocol
/mcpapi-keyMCP server discovery and optional session lookup.
- Unauthenticated discovery is allowed when no session id is provided.
/mcpapi-keyMCP JSON-RPC handler for initialize, tools/list, tools/call, and ping.
/mcpapi-keyDelete an MCP session by mcp-session-id header.
- tools/list and tools/call over JSON-RPC 2.0
- tool responses include structuredContent and outputSchema
- session-based transport with KV-backed inactivity expiration
MCP Tools
searchSearch knowledge base by semantic similarity
Input Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"query": {
"type": "string",
"minLength": 3,
"description": "Search query"
},
"threshold": {
"default": 0.6,
"description": "Similarity threshold (0-1)",
"type": "number",
"minimum": 0,
"maximum": 1
},
"limit": {
"default": 5,
"description": "Max results",
"type": "number",
"minimum": 1,
"maximum": 50
}
},
"required": [
"query",
"threshold",
"limit"
],
"additionalProperties": false
}get_articleRetrieve full article content by ID
Input Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Article ID (e.g., art_...)"
}
},
"required": [
"id"
],
"additionalProperties": false
}get_qaRetrieve a Q&A record by ID
Input Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Q&A ID (e.g., qa_...)"
}
},
"required": [
"id"
],
"additionalProperties": false
}log_gapLog an unanswered question as a knowledge gap
Input Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"question": {
"type": "string",
"minLength": 10,
"maxLength": 2000,
"description": "The unanswered question"
},
"context": {
"description": "Additional context (email subject, sender, etc)",
"type": "string",
"maxLength": 1000
},
"source": {
"default": "mcp",
"description": "Question source",
"type": "string",
"enum": [
"mcp",
"email",
"chat"
]
}
},
"required": [
"question",
"source"
],
"additionalProperties": false
}list_categoriesList all knowledge base categories
Input Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {},
"additionalProperties": false
}health_checkCheck knowledge base health status
Input Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {},
"additionalProperties": false
}list_gapsList unanswered knowledge gaps
Input Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"limit": {
"default": 20,
"description": "Max results",
"type": "number",
"minimum": 1,
"maximum": 100
},
"offset": {
"default": 0,
"description": "Pagination offset",
"type": "number",
"minimum": 0
}
},
"required": [
"limit",
"offset"
],
"additionalProperties": false
}create_articleCreate a new article with auto-embedding
Input Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"title": {
"type": "string",
"minLength": 1,
"description": "Article title"
},
"content": {
"type": "string",
"minLength": 1,
"description": "Full article content (markdown)"
},
"summary": {
"description": "Article summary",
"type": "string"
},
"category_id": {
"description": "Category UUID",
"type": "string"
},
"metadata": {
"description": "Additional metadata",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
},
"required": [
"title",
"content"
],
"additionalProperties": false
}update_articleUpdate an existing article
Input Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Article ID"
},
"title": {
"description": "New title",
"type": "string"
},
"content": {
"description": "New content",
"type": "string"
},
"summary": {
"description": "New summary",
"type": "string"
},
"category_id": {
"description": "New category UUID (null to remove)",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"metadata": {
"description": "New metadata",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
},
"required": [
"id"
],
"additionalProperties": false
}create_qaCreate a new Q&A record
Input Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"question": {
"type": "string",
"minLength": 1,
"description": "The question"
},
"answer": {
"description": "The answer (optional for gaps)",
"type": "string"
},
"status": {
"default": "gap",
"description": "Q&A status",
"type": "string",
"enum": [
"gap",
"draft",
"approved"
]
},
"source": {
"default": "manual",
"description": "Question source",
"type": "string",
"enum": [
"email",
"chat",
"mcp",
"manual"
]
},
"related_article_id": {
"description": "Related article ID",
"type": "string"
},
"category_id": {
"description": "Category UUID",
"type": "string"
},
"metadata": {
"description": "Additional metadata",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
},
"required": [
"question",
"status",
"source"
],
"additionalProperties": false
}draft_qa_answerSave or update a Q&A answer draft
Input Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Q&A ID"
},
"answer": {
"type": "string",
"minLength": 1,
"description": "The drafted answer"
}
},
"required": [
"id",
"answer"
],
"additionalProperties": false
}approve_qaApprove a Q&A record
Input Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Q&A ID to approve"
}
},
"required": [
"id"
],
"additionalProperties": false
}delete_articlePermanently delete an article
Input Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Article ID to delete"
}
},
"required": [
"id"
],
"additionalProperties": false
}delete_qaPermanently delete a Q&A record
Input Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Q&A ID to delete"
}
},
"required": [
"id"
],
"additionalProperties": false
}OAuth
Authorization Server: /.well-known/oauth-authorization-server
Protected Resource: /.well-known/oauth-protected-resource
Scopes: mcp:tools
Authorize: https://memory-api.pragmaticgrowth.com/oauth/authorize
Token: https://memory-api.pragmaticgrowth.com/oauth/token
Revoke: https://memory-api.pragmaticgrowth.com/oauth/revoke
Troubleshooting
401 errors: Verify your API key and header format (Authorization: Bearer ... or X-API-Key).
MCP session errors: Re-run initialize or clear stale session ids in your client config.
OAuth connector issues: validate OAuth metadata paths and allowed redirect URIs.
Need runtime status? Open API health.