Point MCP Server
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Point MCP ServerSearch for documentation on OAuth 2.0 PKCE"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Point MCP Server
MCP server for the Point Knowledge API — verified, citable knowledge for AI coding assistants.
Point indexes curated technical documentation (RFCs, framework docs, standards, API references) and makes it searchable with hybrid search (BM25 + vector) and precise citations. This MCP server gives your AI assistant direct access to that knowledge.
Tools
Tool | Description | Tokens |
| Hybrid search with citations and relevance scores | ~200/result |
| Lightweight table of contents for a document | ~50 |
| Load specific sections by chunk ID (max 50) | varies |
| Browse or search available knowledge collections | ~100/collection |
| Full markdown content of a document | varies (can be large) |
Recommended workflow: search or list_collections to find content, then get_document_toc for structure, then get_sections for specific passages. Use get_document_full only when you need the complete text.
Related MCP server: mcp-rag-server
Prerequisites
Python 3.11+ installed
Point API key — get one free at pinchpoint.dev/point/keys
Installation
pip install point-mcpOr install from source:
git clone https://github.com/mcdonaldsam/point-mcp.git
cd point-mcp
pip install -e .Setup by IDE
Claude Code
Add to your Claude Code MCP settings (~/.claude/settings.json or project .claude/settings.json):
{
"mcpServers": {
"point": {
"command": "point-mcp",
"env": {
"POINT_API_KEY": "your-api-key-here"
}
}
}
}Or add via CLI:
claude mcp add point -- point-mcp -e POINT_API_KEY=your-api-key-hereCursor
Add to your Cursor MCP config (~/.cursor/mcp.json):
{
"mcpServers": {
"point": {
"command": "point-mcp",
"env": {
"POINT_API_KEY": "your-api-key-here"
}
}
}
}Windsurf
Add to your Windsurf MCP config (~/.windsurf/mcp.json):
{
"mcpServers": {
"point": {
"command": "point-mcp",
"env": {
"POINT_API_KEY": "your-api-key-here"
}
}
}
}VS Code (GitHub Copilot)
Add to your VS Code settings (.vscode/mcp.json in your project, or user settings):
{
"servers": {
"point": {
"type": "stdio",
"command": "point-mcp",
"env": {
"POINT_API_KEY": "your-api-key-here"
}
}
}
}Using uvx (no install needed)
If you have uv installed, you can run point-mcp without installing it globally:
{
"mcpServers": {
"point": {
"command": "uvx",
"args": ["point-mcp"],
"env": {
"POINT_API_KEY": "your-api-key-here"
}
}
}
}Manual / Other Tools
Any MCP client that supports stdio transport:
POINT_API_KEY=your-api-key-here point-mcpConfiguration
Environment Variable | Required | Default | Description |
| Yes | — | Your Point API key (get one) |
| No |
| API base URL (for self-hosted or local dev) |
Examples
Once configured, your AI assistant can use Point tools naturally:
"Search Point for how OAuth 2.0 PKCE works"
"What collections does Point have about cloud infrastructure?"
"Get the table of contents for document rfc-7636, then load sections 2 and 3"
The assistant will automatically use the appropriate tools and include citations in its responses.
Development
# Clone and install with dev dependencies
git clone https://github.com/mcdonaldsam/point-mcp.git
cd point-mcp
pip install -e ".[dev]"
# Run tests
pytest
# Run server locally
POINT_API_KEY=your-key point-mcpLicense
MIT
Available Tools
5 toolsget_document_fullA
Get the full markdown content of a document.
WARNING: This can be large (thousands of tokens). Prefer get_document_toc + get_sections for targeted retrieval. Use this only when you need the complete text.
| Name | Required | Description | Default |
|---|---|---|---|
| doc_id | Yes | Document ID (from search results or collection listings) |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description bears full burden. It discloses that content can be large (thousands of tokens) and advises caution. However, it could explicitly state it's a read-only operation, though implied by 'get'.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences: one for purpose, one for warning. No fluff, front-loaded with key information. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given output schema exists (context indicates true), description needn't cover return values. The description fully addresses usage, warnings, and purpose, making it complete for a retrieval tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema has 1 parameter (doc_id) with description, and schema coverage is 100%. The description adds no extra parameter details beyond the schema, but baseline 3 applies as schema handles it well.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states it gets the full markdown content of a document, with a verb and resource. It distinguishes from siblings by naming alternatives (get_document_toc + get_sections) and warns about size, making the purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states when to use (complete text needed) and when not (prefer targeted retrieval via TOC+sections). Includes a warning about large size, guiding the agent to consider alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_document_tocA
Get a lightweight table of contents for a document (~50 tokens).
Use this to understand document structure before loading specific sections. Returns chunk IDs that you can pass to get_sections.
| Name | Required | Description | Default |
|---|---|---|---|
| doc_id | Yes | Document ID (from search results or collection listings) |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden. It discloses the lightweight nature (~50 tokens) and that it returns chunk IDs. While it could detail permissions or rate limits, the behavioral impact is minimal for a read operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, front-loaded with the action, and every sentence adds unique value (purpose, usage hint, output description). No fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the presence of an output schema (noted in context signals), the description covers the key aspects: what the tool does, when to use it, what it returns, and how it relates to siblings. Fully sufficient for effective tool selection.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline 3. The description does not add info beyond the schema's existing description for 'doc_id', which already explains the source.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states 'Get a lightweight table of contents' which is specific and actionable. Distinguishes from siblings like get_document_full (full document) and get_sections (specific sections) by noting it returns chunk IDs for use with get_sections.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly instructs to 'Use this to understand document structure before loading specific sections,' providing clear context. Implicitly suggests not to use when full content is needed, and links to get_sections as a follow-up.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_sectionsA
Load specific document sections by their chunk IDs (max 50 per request).
Use after search or get_document_toc to retrieve full text of specific passages. Each section includes its text, heading path, word count, and citation.
| Name | Required | Description | Default |
|---|---|---|---|
| chunk_ids | Yes | List of chunk IDs to load (get these from search results or TOC). Max 50 per request. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. Discloses max 50 per request limit and what each section includes. Could mention read-only nature or error behavior, but sufficient for a read operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences with no waste. Front-loaded with purpose, then usage context, then return content. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With output schema present, description need not detail return values. It covers usage context, limit, and content. Complete for a single-parameter tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with description of chunk_ids as 'List of chunk IDs to load (get these from search results or TOC). Max 50 per request.' Description adds context beyond schema: source of IDs and limit, enhancing meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states 'Load specific document sections by their chunk IDs', a specific verb and resource. Differentiates from siblings by specifying use after search or get_document_toc, and implies it is for specific passages not full document or TOC.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states when to use: 'Use after search or get_document_toc'. Implies not to use for full document (get_document_full) or TOC (get_document_toc), providing clear context and alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_collectionsA
Browse or search available knowledge collections.
Without a query, lists all collections with document counts. With a query, performs semantic search to find relevant collections.
| Name | Required | Description | Default |
|---|---|---|---|
| query | No | Optional search query to find relevant collections (e.g. "machine learning frameworks"). Omit to list all. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, but the description fully discloses the two behavioral modes (list all vs. semantic search) and implies read-only operation. It does not cover rate limits or auth, but for a simple browsing tool this is adequate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two short paragraphs with no wasted words. The front-loaded summary ('Browse or search available knowledge collections') immediately conveys the overall purpose, and the mode details are efficiently presented.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (1 optional parameter, output schema present), the description fully covers the tool's functionality. It explains both modes clearly, and the output schema handles return value details.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% coverage and describes the 'query' parameter. The description adds value beyond the schema by explaining how the parameter's presence or absence changes the tool's behavior (list all vs. search).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool browses or searches collections, and differentiates between listing all collections (without query) and semantic search (with query). This distinguishes it from sibling tools like 'search' which does full-text document search.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states when to use each mode (with or without query). While it does not mention explicit when-not-to-use scenarios, the context of sibling tools implies appropriate usage. A slight improvement would be to contrast with 'search' for document-level queries.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
searchA
Search Point's verified knowledge base using hybrid search (BM25 + vector).
Returns ranked results with relevance scores, text excerpts, and citations. Each result includes a pre-formatted citation you can use directly.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Natural language search query (e.g. "how does OAuth 2.0 PKCE work") | |
| collection | No | Optional collection ID to search within (e.g. "rfc-ietf"). Omit to search all collections. | |
| doc_type | No | Optional document type filter (e.g. "rfc", "standard", "guide") | |
| limit | No | Max results to return (1-50, default 10). Use 3-5 for focused queries. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Describes the hybrid search algorithm, output format (ranked results, relevance scores, excerpts, citations), and includes note about pre-formatted citations. No annotations provided, so it carries full burden. Could be improved by explicitly stating it is read-only and has no side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences with front-loaded core function. Every word adds value; no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of a search tool with filters and an output schema, the description adequately covers purpose and output but could mention default behavior of searching all collections when no collection specified (though schema covers it). Overall sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the description need not add much. It does not elaborate on parameters beyond what the schema already provides, giving no extra meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly specifies the action (Search), the resource (Point's verified knowledge base), and the method (hybrid search). It distinguishes itself from sibling tools like get_document_full which focus on retrieving documents rather than searching.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus sibling tools. The description does not provide usage context or alternatives, leaving the agent to infer usage from tool names.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
5 tool updates
v0.1.0- First observed
get_document_full - First observed
get_document_toc - First observed
get_sections - First observed
list_collections - First observed
search
TDQS
Each tool has a distinct purpose: full document retrieval, table of contents, section loading, collection listing, and search. No overlap or ambiguity.
All tool names follow a consistent verb_noun pattern (get_document_full, get_document_toc, get_sections, list_collections, search). Even 'search' fits as a verb with an implied object.
With 5 tools, the server is well-scoped for knowledge base retrieval. It is neither too sparse nor too heavy.
The tool set covers all necessary operations for a read-only knowledge base: browsing collections, searching, getting document structure, and retrieving full or partial content. No gaps for its stated purpose.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
MCP server for querying Forkast documentation
Knowledge base MCP for AI agents on iknow.dev. Search, read, and maintain via OAuth.
Token-free MCP server for structured RevoGrid Core, Pro, and Enterprise knowledge retrieval.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceAn MCP server implementation that provides tools for retrieving and processing documentation through vector search, enabling AI assistants to augment their responses with relevant documentation context22265MIT
- AlicenseNot gradedqualityDmaintenanceAn MCP server that indexes documents and serves relevant context to LLMs via Retrieval Augmented Generation (RAG).4837MIT
- AlicenseNot gradedqualityDmaintenanceA knowledge base MCP server backed by Qdrant vector database with local embeddings for semantic search and document management.21ISC
- AlicenseNot gradedqualityBmaintenanceAn MCP server that gives AI coding assistants access to up-to-date API documentation via RAG by crawling documentation sites, indexing them into a vector store, and enabling semantic queries.MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/mcdonaldsam/point-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server