Ramp Developer 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., "@Ramp Developer MCP ServerHow do I authenticate with the Ramp API?"
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.
Ramp Developer MCP Server
A local Model Context Protocol (MCP) server that provides AI assistants with access to Ramp's developer documentation, API schemas, and development guidance. This server enables natural language queries about Ramp's API endpoints, authentication methods, data relationships, and implementation patterns. Built specifically for developers building on Ramp's platform, it serves as an intelligent companion for API integration and development workflows. The server runs locally and processes Ramp's comprehensive developer documentation to provide contextual, accurate responses about API usage and best practices.
Example Queries and Use Cases
API Development
"How do I authenticate with the Ramp API?"
"Show me the schema for the cards endpoint"
"What are the required fields for creating a new user?"
"How do I handle rate limiting in the Ramp API?"
Data Relationships
"How are cards related to users in the API?"
"What's the relationship between transactions and bills?"
"Show me how to link a purchase order to a bill"
Implementation Guidance
"What are the best practices for handling webhooks?"
"How do I implement single-use card creation?"
"What scopes do I need for bill management?"
"How should I structure pagination for large datasets?"
Troubleshooting
"Why am I getting a 403 error on the users endpoint?"
"What's the proper format for monetary values?"
"How do I debug failed API requests?"
Related MCP server: Kintone Development Support MCP Server
Available Tools
Core Tools
ping- Test server connectivity and healthsearch_documentation- Search through Ramp's developer documentation for specific topics, endpoints, or conceptsget_endpoint_schema- Retrieve detailed OpenAPI schema information for specific Ramp API endpointssubmit_feedback- Submit feedback about the MCP server or Ramp API development experience
Documentation Coverage
The server includes comprehensive documentation for:
Authentication & Authorization - OAuth flows, API keys, scopes
API Endpoints - Cards, users, bills, transactions, transfers, and more
Data Relationships - How different Ramp entities connect
Rate Limiting - Request limits and best practices
Webhooks - Event handling and security
Error Handling - Common errors and debugging approaches
Monetary Values - Proper formatting and precision
Pagination - Handling large result sets
Category Codes - Spending categories and classifications
How to Use
Prerequisites
Python 3.8+ with
uvpackage managerMCP-compatible client (Claude Desktop, Claude Code, or other MCP client)
Git for cloning the repository
Setup Instructions
Clone the repository:
git clone https://github.com/riker-t/ramp-dev-mcp.git cd ramp-dev-mcpInstall dependencies:
uv syncTest the server:
uv run python src/server.pyThe server should start and display initialization messages.
Claude Desktop Configuration
Locate your configuration file:
macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:
%APPDATA%\Claude\claude_desktop_config.json
Add the server configuration:
Option 1: Full path configuration (recommended):
{ "mcpServers": { "ramp-developer": { "command": "/Users/yourusername/.local/bin/uv", "args": [ "--directory", "/path/to/ramp-dev-mcp", "run", "src/server.py" ] } } }Option 2: Simple configuration (if
uvis in your PATH):{ "mcpServers": { "ramp-developer": { "command": "uv", "args": ["run", "python", "src/server.py"], "cwd": "/path/to/ramp-dev-mcp" } } }Configuration notes:
Replace
/path/to/ramp-dev-mcpwith the actual path where you cloned the repositoryReplace
/Users/yourusername/.local/bin/uvwith your actualuvinstallation pathTo find your
uvpath, run:which uvin your terminalIf
uvis not in your PATH, use the full path configuration
Restart Claude Desktop
Claude Code Configuration
# Navigate to your project directory
cd /path/to/ramp-dev-mcp
# Add the MCP server
claude mcp add ramp-developer uv run python src/server.py
# Start using it in your conversations
# The server will be automatically available in your Claude Code sessionsOther MCP Clients
For other MCP-compatible clients, configure them to run:
uv run python src/server.pyFrom the project directory.
Getting Started
Once configured, you can start asking questions like:
"How do I create a new card using the Ramp API?"
"What's the schema for the bills endpoint?"
"Show me documentation about webhook security"
"How do I handle rate limiting?"
The AI assistant will use the MCP server to search documentation, retrieve schemas, and provide accurate, contextual answers about Ramp API development.
Troubleshooting
Server fails to start:
Ensure Python 3.8+ is installed
Run
uv syncto install dependenciesCheck that you're in the correct directory
Configuration not working:
Verify the file path in your MCP client configuration
Ensure JSON syntax is correct
Restart your MCP client after configuration changes
Getting help:
Use the
submit_feedbacktool to report issuesCheck the console output for error messages
Ensure all dependencies are properly installed
Available Tools
4 toolsget_endpoint_schemaA
🎯 GET PRECISE ENDPOINT SCHEMA - Returns exact OpenAPI schema for specific endpoints.
Perfect for when you need:
• Exact request parameter names and types
• Response field names and structures
• Required vs optional parameters
• Related endpoints for the same use case
Example queries this replaces:
• "bills endpoint response schema fields amount vendor status" → Use this tool with /developer/v1/bills
• "API pagination limit page_size next cursor" → Get schema for any paginated endpoint
• "cards creation request parameters" → Use this tool with /developer/v1/cards
Usage: Provide an endpoint path (and optionally method) to get the complete technical specification.
| Name | Required | Description | Default |
|---|---|---|---|
| endpoint | Yes | The endpoint path (e.g., '/developer/v1/bills', '/developer/v1/limits') | |
| method | No | HTTP method (GET, POST, PUT, etc.). If not specified, will show most relevant method. | |
| include_related | No | Include related endpoints for the same use case |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden and does well by explaining what the tool returns (exact OpenAPI schema), what inputs are needed (endpoint path, optional method), and behavioral aspects like 'will show most relevant method' when method isn't specified. It doesn't mention rate limits or authentication requirements, but provides solid operational context.
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 well-structured with clear sections (purpose, use cases, examples, usage instructions), front-loaded with the core purpose, and every sentence adds value. No wasted words while maintaining comprehensive coverage.
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?
For a tool with 3 parameters, 100% schema coverage, but no output schema, the description provides excellent context about what the tool returns and when to use it. The main gap is lack of information about return format or structure, which would be helpful since there's no output schema. However, it compensates well with usage examples and scenarios.
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 schema already documents all three parameters thoroughly. The description adds some context about 'most relevant method' when method isn't specified, but doesn't provide significant additional parameter semantics beyond what's in the schema. Baseline 3 is appropriate when schema does the heavy lifting.
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's purpose with specific verb ('Returns exact OpenAPI schema') and resource ('for specific endpoints'). It distinguishes itself from sibling tools like 'search_documentation' by focusing on precise technical specifications rather than general documentation 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 provides explicit guidance on when to use this tool through the 'Perfect for when you need' section listing specific scenarios, and includes 'Example queries this replaces' showing concrete alternatives. It clearly differentiates this tool's use case from general documentation search.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
pingA
Test connectivity to the MCP server
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses the behavioral trait of testing connectivity, which is useful context. However, it lacks details such as expected response format, potential errors, or any side effects, leaving gaps in behavioral understanding.
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 a single, efficient sentence that front-loads the core purpose with zero wasted words. Every part of the sentence directly contributes to understanding the tool's function, making it highly concise and well-structured.
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 (0 parameters, no output schema, no annotations), the description is mostly complete for its purpose. However, it could slightly improve by hinting at the expected outcome (e.g., success/failure response) to fully cover behavioral aspects, though this is a minor gap.
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 tool has 0 parameters, and schema description coverage is 100%, so no parameter documentation is needed. The description appropriately does not discuss parameters, earning a high baseline score for not adding unnecessary information.
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 specific action ('Test connectivity') and target resource ('to the MCP server'), distinguishing it from sibling tools like get_endpoint_schema or search_documentation. It uses precise language that directly communicates the tool's function without ambiguity.
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 implies usage context ('Test connectivity') suggesting it should be used for diagnostic or verification purposes. However, it does not explicitly state when not to use it or name specific alternatives, which prevents a perfect score despite the clear implied context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_documentationA
🔍 SMART DOCUMENTATION SEARCH - Finds the most relevant Ramp API documentation for your query.
What this does: • 🎯 Detects your intent from natural language queries • 📚 Searches through all Ramp documentation and guides • 🧠 Reasons about which content is most relevant • 📋 Returns clean, actionable markdown chunks
Perfect for: • Getting started with authentication • Understanding specific API workflows • Finding implementation examples • Troubleshooting integration issues
Usage: Just describe what you're trying to do naturally. Examples: "building an integration", "setting up OAuth", "bill payment workflow", "webhook events"
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Your question or what you're trying to accomplish. Use natural language - e.g., 'building an integration', 'OAuth setup', 'bill payments' |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses key behavioral traits: it processes natural language queries, searches documentation, reasons about relevance, and returns markdown chunks. However, it lacks details on limitations (e.g., search scope, accuracy, rate limits) or output specifics (e.g., format details, error handling). For a tool with no annotations, this is adequate but not comprehensive.
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 appropriately sized and front-loaded with a clear purpose statement. Sections like 'What this does' and 'Perfect for' are well-structured, but some elements (e.g., emojis, bullet points) add minor visual clutter without essential information. Overall, it's efficient with minimal waste, though it could be slightly more streamlined.
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 complexity (natural language search with reasoning) and lack of annotations/output schema, the description is reasonably complete. It covers purpose, usage, parameters, and behavioral aspects. However, it could improve by addressing potential limitations or output details more explicitly, which would enhance completeness for a tool with no structured support.
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% description coverage, with the query parameter well-documented. The description adds value by elaborating on the parameter's semantics: it emphasizes natural language usage, provides intent detection context, and gives concrete examples ('building an integration', 'OAuth setup'). This goes beyond the schema's basic description, though it doesn't introduce new parameter details.
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's purpose with specific verbs ('finds', 'searches', 'detects', 'reasons about') and resources ('Ramp API documentation', 'documentation and guides'). It distinguishes itself from sibling tools like get_endpoint_schema (which likely retrieves schema details) and ping/submit_feedback (which are unrelated to documentation search). The title 'SMART DOCUMENTATION SEARCH' reinforces this specificity.
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 provides explicit guidance on when to use this tool through the 'Perfect for' section, listing specific scenarios like authentication, API workflows, examples, and troubleshooting. It also distinguishes usage from alternatives by implying this is for natural language queries about documentation, unlike get_endpoint_schema which might handle structured schema retrieval. The 'Usage' section reinforces this with examples.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
submit_feedbackB
Submit feedback to Ramp about the MCP server interface, tools, or problems you encounter. Helps improve the developer experience.
| Name | Required | Description | Default |
|---|---|---|---|
| feedback | Yes | Your feedback about the MCP tools, API documentation, or any issues encountered. Must be 10-1000 characters. | |
| tool_name | No | Optional: which tool this feedback relates to (e.g., 'validate_endpoint_usage', 'search_documentation') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It mentions the tool 'helps improve the developer experience' but doesn't disclose behavioral traits like whether submission is anonymous, requires authentication, has rate limits, or provides confirmation. For a feedback tool with zero annotation coverage, this leaves significant gaps in understanding how it operates beyond the basic action.
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 concise sentences with zero waste: the first specifies the action and scope, and the second states the purpose. It's front-loaded with the core function and appropriately sized, making it easy to scan and understand quickly.
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 moderate complexity (2 parameters, no output schema, no annotations), the description is adequate but incomplete. It covers the purpose and general usage but lacks details on behavioral aspects like response handling or error conditions. Without annotations or output schema, more context on what happens after submission would enhance completeness for a feedback 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 description coverage is 100%, so the schema fully documents both parameters ('feedback' and 'tool_name') with descriptions and constraints. The description adds no additional meaning beyond what the schema provides, such as examples of feedback content or how 'tool_name' relates to sibling tools. Baseline 3 is appropriate when schema does the heavy lifting.
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 action ('submit feedback') and target ('to Ramp about the MCP server interface, tools, or problems'), with a specific purpose ('Helps improve the developer experience'). It distinguishes from siblings like 'get_endpoint_schema' or 'search_documentation' by focusing on feedback submission rather than information retrieval. However, it doesn't explicitly contrast with 'ping' (which tests connectivity), leaving minor ambiguity.
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 implies usage for feedback on 'MCP server interface, tools, or problems,' providing general context. It doesn't specify when NOT to use it (e.g., for technical support vs. bug reports) or name explicit alternatives among siblings. Guidelines are present but lack detailed exclusions or comparative advice, relying on implied understanding.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
Each tool has a clearly distinct purpose with no overlap: get_endpoint_schema retrieves technical API specifications, ping tests connectivity, search_documentation finds documentation content, and submit_feedback collects user feedback. The descriptions explicitly differentiate their functions, eliminating any ambiguity in tool selection.
The naming conventions are mixed: get_endpoint_schema and search_documentation follow a verb_noun pattern, but ping is a single verb and submit_feedback uses a verb_noun structure. While all names are readable and descriptive, the inconsistency in style (e.g., ping vs. get_endpoint_schema) prevents a higher score.
With 4 tools, the count is reasonable for a developer-focused server, covering API schema retrieval, documentation search, connectivity testing, and feedback submission. It feels slightly thin for a full API integration suite but well-scoped for core developer assistance tasks, with each tool earning its place.
The tool set covers key developer needs like schema lookup and documentation search, but there are notable gaps for actual API interaction (e.g., no tools to create, update, or delete resources like bills or cards). This limits agents to informational tasks without execution capabilities, which may cause workarounds or failures in broader integration workflows.
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
The Ramp MCP server enables users to securely connect Ramp with AI assistants like ChatGPT and Claude to query financial data and take actions using natural language. It transforms Ramp's developer API into a SQL interface that LLMs can query, allowing admins to analyze spend trends, identify cost savings, and run complex SQL analyses on comprehensive datasets (transactions, purchase orders, vendors, users), while all users can manage cards, view transactions, request reimbursements, and get expense policy answers.
Provides AI assistants with direct access to Mapbox developer APIs and documentation.
Versioned documentation registry and semantic search for AI tools and coding assistants.
Provide your AI coding tools with token-efficient access to up-to-date technical documentation for…
Related MCP Servers
- FlicenseBqualityDmaintenanceProvides AI assistants with access to Payman's documentation, helping developers build integrations more efficiently through enhanced contextual support.5
- AlicenseNot gradedqualityFmaintenanceEnables developers to access kintone API specifications, field type documentation, and development best practices through natural language queries. Supports API request validation and provides comprehensive development guidance for kintone customizations.22MIT
- AlicenseBqualityDmaintenanceEnables LLMs to search and retrieve OwlPay documentation directly through natural language queries. Accelerates system integration by providing instant access to OwlPay API documentation and guides.1MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI coding assistants to automatically scan, store, and query API endpoints from codebases, providing instant lookup and semantic search to reduce context switching and token consumption.1MIT
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/riker-t/ramp-dev-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server