# BCM Results | Marketing for local businesses Source: https://bcmresultss.com/ Strategic marketing for local businesses When someone in your area searches for what you do, the top three on Google get the clicks, the calls and the clients. Everything below that is basically invisible. I get local businesses into that top three, keep them there, and build the site the calls land on. Get your free marketing analysis [Read the full plan](https://bcmresultss.com/local-visibility/) **Automobiles Etcetera** Live ## A luxury car club and dealer in Montreal. Site built by BCM, start to finish. See the site → [Open](https://automobilesetcetera.com) There are two ways into the top three. Pay Google for ads, and the moment you stop paying the spot is gone. **Or earn the spot, and keep it without paying Google at all.** I do the second one. ## What your ranking looks like on a map. Each dot is a spot in your area and the number is where you rank when someone searches from there. Red means you are not in the top three. Green means you are. MOST BUSINESSES ### Red everywhere You are below the top three across your whole area. People are searching for exactly what you do and calling someone else. THE COMMON TRAP ### Green only around your door Top three on your own block, invisible two miles away. Most of your area still goes to the competition. THE GOAL ### Green across the area Top three everywhere people in your area search from. That is where I take a business, and then keep it. ## What I do. Three things. Each one comes with a scope, a price and a date on paper before any money moves. 01 ### Rank on Google Your Google Business Profile, your site and your reviews, set up so Google picks you as the most relevant result in your area. The organic top three, no ad budget required. 02 ### Websites that get the call A site built around the one thing a visitor came to do: call you or book you. Fast, works on a phone, every button goes somewhere. The five sites below are mine. 03 ### The strategy behind it Who you sell to, where they look, what they need to hear before they call. Written down as a plan you can read in ten minutes, then executed in order. Ads only when the numbers say so. ## How working with me goes. The first step is free and there is no sales pitch in it. After that, it is mostly hands off for you. STEP 01 ### Free marketing analysis Send me your business name and website. I look at how you show up on Google, who is taking the top spots in your area instead of you, and where your site loses people. You get the exact things that need to happen, in an email, within 2 business days. STEP 02 ### A plan on paper If you want it done, you get a scope, a price, a date and what done means, in writing. No retainer with vague deliverables. You approve it before a deposit. STEP 03 ### I do the work, you run your business Listing, site, reviews, pages, whatever the plan says, in order. I need almost nothing from you after the first week. You get a dated screenshot at the start and a report every month from the same search, so you can see the change yourself. ### One business per area While we work together I will not take on one of your local competitors for the same service. Otherwise I would be competing against myself, and that makes no sense. ### Honest about time, no long contract Rankings do not move overnight. Plan on two to four months to reach the top three, depending on how competitive your area is, with the first movement in a few weeks. If you want to stop at any point, tell me and the billing stops. ## Sites I have built. Every one built by me, start to finish. Click any card to open the site. ### Automobiles Etcetera Luxury car club and dealer, Montreal Live [Open](https://automobilesetcetera.com) ### Forma Pilates In-studio and online pilates Live [Open](https://formapilates.co) ### OYLA Handmade rings, online store Live [Open](https://oylarings.vercel.app) ### dR_Fg European car mechanic and kart racer, Zapopan Live [Open](https://dr-fg.vercel.app) ### Haven Med Spa Med spa booking site, Santa Monica Live [Open](https://havenmedspa.vercel.app) ## Are you an agency? No. Let me guess what the last one did: a retainer, a template with your logo on it, a report nobody read, and nobody answering when it stopped working. I do not do that. Here is what I do instead. ### Scope on paper first Every deliverable, the price and the date are written down before a deposit. What done means is defined so neither of us argues about it later. For Google ranking that includes the exact search and the spot on the map I measure from. ### One person, not an agency You email me, I answer. No account manager between you and the work, and no retainer that keeps billing after the work stops. I take a few businesses at a time so that stays true. --- ## Who I am. I am Brandon Medina. I do marketing for local businesses: getting them found on Google, building the site the call lands on, and writing the plan that connects the two. I am based in Boston. I run this same system for [GOAT Hardscape](https://www.goathardscape.com) in Framingham, MA, 5.0 on Google, and the five sites above are my builds. Email me at brandon@bcmresultss.com or find me on Instagram at @bcmresultss. Get your free analysis [Instagram](https://www.instagram.com/bcmresultss/) --- Free, no obligation ## Get your free marketing analysis. Fill out the form and I will look at how you show up on Google and on your own site, then email you the exact things that need to happen to get you in the top three in your area. No cost, no obligation, no sales pitch. - What you get: The exact things that need to happen, in writing - Turnaround: Within 2 business days - Cost: Free - Email: [brandon@bcmresultss.com](mailto:brandon@bcmresultss.com) --- # The only two things you need to know about marketing a local business Source: https://bcmresultss.com/local-visibility/ Marketing for local businesses, Boston My name is Brandon. I run BCM Results, and I do marketing for local businesses. And there are only two things you need to know. On this page I am going to go over those two things. I am also going to go over how to determine if you and I are a good match, and what happens when we do end up working together. Book a call [Get the free analysis first](https://bcmresultss.com/#contact) **5 sites** Built by me and live today. [See them on the home page](https://bcmresultss.com/#work). **5.0 on Google** GOAT Hardscape, the business whose marketing I run. **2 business days** Your free analysis in your inbox, in writing, before you spend a dollar. 01 THE FIRST THING ## You have to show up when they are looking. The number one thing when it comes to marketing for local businesses is that you have to show up when they are looking for your service, or when they are looking up their problem. You have to show up right at that moment. You have to be there. If you do not, you lose them. They go to a competitor. It is over. You have to pop up immediately. *This is what showing up looks like on a rank grid. Each dot is a spot in the area and the number is where a business ranks when someone searches from there. Green at your own address is where most businesses stop.* 02 THE SECOND THING ## It is not enough to show up once. This used to be the only thing you needed to know. But with Instagram and TikTok, the attention span has gone downhill really, really quickly. So we have to add another thing. Times have changed. Number two, the second thing you need to know: it is not enough to show up when they are looking for your stuff. You have to keep showing up, and be everywhere, all the time, from the moment they made it clear there is a need. So if they looked up your service and they found you, the vast majority of people are not going to buy immediately. So you have to keep showing up over time. 03 HOW YOU ACTUALLY DO THAT ## Top of Google first. Then stay in front of them. Now let us talk about how you actually do that. The best way to catch people exactly when you want to catch them, when they are looking for you, is to show up at the top of Google. That is exactly what I do for clients. I do this all day, every day. **Within a couple of months you are ranking in the top three for the search terms you want to rank for, and people are going to find you.** But we are just getting started. It is going to be so much better, because we have to stay in front of them. It is not enough to show up once. We have to show up again and again and again. Like I said, most people do not buy the first time they see your stuff, so we have to keep showing up. The way I do that is I retarget them on Google and on Meta. So it does not matter if they are on YouTube, scrolling Instagram, checking Facebook: every time they do something online, you show up, they see your company again, and another little bell rings that tells them, hey, you wanted to get that done, right? We are here for you. Let us get it done today. Once we have this set up, something magical happens. Yes, it takes a couple of months. And that is okay, because you are going to be in business anyway. Something magical happens where you are now the go to guy or the go to girl in your market. Whenever someone looks for your thing, your service, whatever you do, they find you and they keep seeing you. And as a result you get all the mind share. You get all the trust. You get all the referrals. **You are the obvious choice.** People want to do business with the company that is the obvious choice, the safe choice, the one that is showing up everywhere. And that is going to be you. Most businesses today ### Invisible across the area Below the top three from every spot. People are searching for exactly what you do and calling someone else. The goal ### Top three from everywhere In the first three from every spot your customers search from. Then they keep seeing you. --- 04 WHAT IS REQUIRED ## Now that you know what is possible, here is what is required. Now that is what I do for my clients. And now that I have shown you what is actually possible, let me tell you what is required, because there are a couple of requirements. NUMBER ONE I work with people that are doing well and want to do even better. So if you are literally at zero and you are just starting out, we are probably not a good match. If you are at minus four hundred thousand and about to go bankrupt, we are also not a good match. But if you are doing well and you want to scale up, you want to go even further and you want to take the next step, we are probably a good match. NUMBER TWO Marketing takes a while to go into effect and to feel the full effect of what you are doing. If you are looking for a solution that has to be there next weekend, that probably will not work out. I put in a Herculean amount of effort, especially in the beginning, and then over the weeks and the months that we work together, that comes to fruition. So if you are looking for something that works next weekend, we are probably also not a good match. NUMBER THREE Right now I charge my clients one flat monthly rate, and you get the exact number in writing on the call, before anything starts. If you need something completely custom, jump on a call and let us see if we can work something out. But for most people that rate works. And if you lock it in at a certain rate, I keep you at that rate. The main point: if that rate is prohibitively expensive to you, we are also not a good match. I do not want you to spend your last penny on this, because that would not make sense. NUMBER FOUR I am not a big fan of gigantic contracts and tons of legalese. If that is your thing, if you need four lawyers and a forty eight page contract, we are probably also not a good match. If we both have the right goal in mind, we will get along. If at any point you are unhappy, you want to quit, or you feel like, hey, we have done enough: just let me know. We will call it off. It is all good. We will go our separate ways. If you need tons and tons of legal documents, we are also not a good match. ✓ ### And in writing: if you are not in the top three within 90 days, billing pauses. Top three in Google Maps for your main keyword in your target area, within 90 days of getting access. If we are not there, I stop billing you until we are, and it restarts from the next cycle. It is in the [terms](https://bcmresultss.com/terms-of-service/), along with the flat rate, month to month, and stop any time. --- 05 THE NEXT STEP ## Book the call. Now, the next step is to book a call. And I want to ask you, please, pretty please with a cherry on top: the reason I put the requirements on this page is to let you know that if you feel you are there, if you feel you match those requirements, I think we are a great match. You should book the call. We will talk. I do not have a sales floor. I do not have a team of closers and setters. It is going to be me on the call. I am going to show up, we are going to talk, and we are going to see if we are a good match. My days are mostly filled with client work, moving the needle for clients in the right direction. So if you are not there yet, that is okay. Wait until you are, and then book the call. If you are, if you think we are a good match, book the call. The form is right here. Fill it in and I will happily jump on a call with you. We will figure out a time that works, we will talk, and we will see if we are a good match. Looking forward to it. - What happens: Email with two call times, within 2 business days - On the call: Me, not a sales team - Email: [brandon@bcmresultss.com](mailto:brandon@bcmresultss.com) ### Not ready to book? Get the free marketing analysis first. The exact things that need to happen, in writing, no pitch. [Free analysis](https://bcmresultss.com/#contact) --- HOW IT WORKS ## It is pretty easy. STEP 01 ### Strategy call Book the call above so we can look at your market and your current rankings, and see if we are a match. STEP 02 ### Onboarding You get the plan on paper: scope, price, date. You approve it before any money moves. Then you pay the first invoice and within 24 hours you get detailed instructions on how to give me secure access to your profile and your site. STEP 03 ### Execution I do the work: listing, site, pages, reviews, posts, retargeting. You run your business. Every month you get a dated screenshot of the same search from the same spot. STEP 04 ### What works I track the data to see what actually moves your rankings, and do more of it. --- FAQ ## Frequently asked questions. **What is the difference between this and Google Ads?** Search ads put you at the top while you pay per click, and the spot is gone the day you stop. What I do earns the spot in Google Maps and the organic results. It takes longer to build and it holds. The plan does include a small retargeting budget, so the people who already found you keep seeing you; that is a different thing from paying for every new click. **Which businesses do you work with?** Local businesses that people find by searching: contractors, med spas, studios, mechanics, dealers, clinics, salons, restaurants. One business per industry per area, so if your competitor is already my client there, I will tell you straight away. **How much time do I need to invest?** About an hour at the start to give access and answer questions, then a short check in each month. Reviews need your team to ask; I give you the system for it. **What are the contract terms?** A one page plan: scope, price, date. Month to month. Stop any time and billing stops at the end of that month. The full terms are [public on this site](https://bcmresultss.com/terms-of-service/). **What if I am not in the top three after 90 days?** Billing pauses until you are, and restarts from the next billing cycle once you are there. That is written in the terms, and it is the reason I only take businesses I believe I can get there. **I have been burned by an agency before. Why is this different?** Month to month, so you are never locked in. A dated screenshot of the same search every month, so you see the change yourself instead of a report. Billing pauses if the top three is not reached in 90 days. And it is me doing the work and me on the phone, not an account manager. **How do we get started?** Book the call above, or get the free marketing analysis first if you want to see the exact gaps before you decide. Either way I reply within 2 business days, and it is me replying, not a sales team. --- # Terms of Service Source: https://bcmresultss.com/terms-of-service/ Last updated September 18, 2026 ## Service agreement This agreement is made between you (the client) and BCM Results, operated by Brandon Medina in Boston, Massachusetts (hereinafter "we", "us" or "our"). By agreeing to this document, you agree to the following terms. ### Our offer We will optimize your Google Business Profile with the goal of achieving a top 3 ranking in Google Maps for your target area and your main keyword within 90 days. Where a website build or fix is included in your plan, it is delivered to the scope, price and date written in your plan. ### Scope of services - Complete Google Business Profile audit and optimization - Optional website build or fix, with on page SEO - A review generation system your team can run - Weekly post planning including content strategy - Retargeting on Google and Meta for people who already found your business, where included in your plan - Competitive analysis and clear positioning in your local market - Monthly ranking reports, measured from the same spot and the same search term - Ongoing support, optimization and adjustments throughout the 90 days ### What we need from you We need access to your Google Business Profile and your website. We will notify you before making any major changes. Once payment is completed, we will send you detailed instructions on how to provide us with secure access to everything we need. ### Guarantee Should you not achieve a top 3 ranking in Google Maps for your main keyword in your target area within 90 days, we will stop your billing until we have reached that goal. From that point onwards, billing continues starting from the next billing cycle. ### Exclusivity During our collaboration, we commit to not serving any other business from your industry in the same target area. ### Term, rate and cancellation The plan is billed monthly at the flat rate written in your plan. That rate stays the same for as long as we work together. After the first 90 days the plan continues month to month for as long as you want it. You can stop at any time by emailing us; billing stops at the end of the month in which you tell us, and nothing is owed after that. ### Next steps After agreement and signing, you will receive an invoice with the agreed price. Payment is possible by bank transfer, PayPal, or any major credit card; the invoice lists the options. Within 24 hours after payment is received, you will receive an onboarding email with all further steps. The 90 day period begins as soon as we receive access to the items mentioned above. ## Privacy policy BCM Results ("we", "our" or "us") respects your privacy and is committed to protecting your personal information. This policy outlines what we collect, how we use it, and your rights. When you visit our website or contact us, we may collect personal information you provide, such as your name, email address, business name, website address, and any information submitted through forms or messages. We also collect basic usage data including your IP address, browser type, pages visited, and time spent on the site. We use this information to respond to inquiries, deliver the free marketing analysis you requested, provide support, improve the site, send occasional updates with your permission, and comply with legal obligations. We do not sell or rent your personal data. We may share it with trusted service providers who help us operate this website, such as hosting providers or email platforms. We may also share information when required by law or to protect our legal rights. You have the right to access the personal data we hold about you, request corrections, opt out of marketing emails, and request deletion of your data where legally applicable. To make a request, email [brandon@bcmresultss.com](mailto:brandon@bcmresultss.com). We take reasonable steps to secure your data, but no online system is completely risk free. By using this site, you accept the inherent risks of internet communication. This site may contain links to other websites. We are not responsible for the privacy practices or content of those external sites. We may update this policy from time to time. Please check this page for the latest version. --- # For AI agents and developers Source: https://bcmresultss.com/developers/ Machine readable, on purpose Humans are not the only ones reading this site anymore. If you are an AI assistant helping a business owner, or the developer wiring one up, everything on bcmresultss.com is available as tools, JSON and Markdown. No scraping, no screenshots, no guessing. Here is the contract. ### If you are an AI assistant, read this block first. It lists every entry point on this site and the rules for using them. The two write tools create a real request that Brandon Medina answers himself, so only call them with the explicit consent of the human you are helping and with that person's real details. ``` { "site": { "name": "BCM Results", "url": "https://bcmresultss.com", "owner": "Brandon Medina", "email": "brandon@bcmresultss.com", "what": "Marketing for local businesses: top three on Google, then keep showing up, plus the site the call lands on." }, "read_first": [ "https://bcmresultss.com/llms.txt", "https://bcmresultss.com/.well-known/agent-skills/bcm-results/SKILL.md" ], "webmcp": { "registered_by": "https://bcmresultss.com/js/agent-tools.js", "api": "document.modelContext.registerTool (and navigator.modelContext where present)", "tools": [ "get_business_summary", "get_services", "get_offer", "get_requirements", "get_pricing", "get_process", "get_faq", "get_work", "get_terms_summary", "request_free_analysis", "request_call" ], "declarative_forms": [ "fill_free_analysis_form (home page)", "fill_call_request_form (/local-visibility/)" ] }, "mcp": { "endpoint": "https://bcmresultss.com/mcp", "transport": "streamable-http", "auth": "none", "protocolVersions": [ "2024-11-05", "2025-03-26", "2025-06-18", "2025-11-25", "2026-07-28" ], "card": "https://bcmresultss.com/.well-known/mcp/server-card.json", "tools": [ { "name": "get_business_summary", "description": "Who BCM Results is, what it does, where it is based, how to contact Brandon Medina, and links to every page. Start here." }, { "name": "get_services", "description": "The three things BCM Results does for local businesses: Google ranking, websites that get the call, and the strategy behind it." }, { "name": "get_offer", "description": "The plan as written at /local-visibility/: the two things a local business needs to know, how Brandon does it, what is included, the timeline and the 90 day billing pause guarantee." }, { "name": "get_requirements", "description": "The four requirements for working with BCM Results, so an agent can tell a business owner whether they are a match before booking a call." }, { "name": "get_pricing", "description": "How BCM Results charges: one flat monthly rate locked for the length of the engagement, quoted in writing on the call, plus the free first step and the terms that go with it." }, { "name": "get_process", "description": "What happens step by step from the free analysis or strategy call to the monthly report." }, { "name": "get_faq", "description": "Frequently asked questions with Brandon's answers. Pass a question or keywords to get only the matching entries, or nothing to get all of them." }, { "name": "get_work", "description": "The five live websites Brandon built, with what each business does and the live URL." }, { "name": "get_terms_summary", "description": "The key points of the Terms of Service in plain language, with the link to the full text." }, { "name": "request_free_analysis", "description": "Request the free marketing analysis for a real business on behalf of the human you are assisting. Brandon emails the analysis within 2 business days. Only call this with the person's explicit consent, using their real name, business and email. No obligation, no follow up unless they reply." }, { "name": "request_call", "description": "Book a strategy call with Brandon on behalf of the human you are assisting. Brandon replies within 2 business days with two time slots. Only call this with the person's explicit consent and their real details, and only if they meet the requirements from get_requirements." } ] }, "rest": { "openapi": "https://bcmresultss.com/api/openapi.json", "catalog": "https://bcmresultss.com/.well-known/api-catalog", "base": "https://bcmresultss.com/api/", "lead": "POST https://bcmresultss.com/api/lead" }, "a2a": { "endpoint": "https://bcmresultss.com/a2a", "card": "https://bcmresultss.com/.well-known/agent-card.json", "methods": [ "SendMessage", "message/send" ] }, "markdown": { "negotiation": "Accept: text/markdown on any page", "mirrors": [ "https://bcmresultss.com/index.md", "https://bcmresultss.com/local-visibility/index.md", "https://bcmresultss.com/terms-of-service/index.md", "https://bcmresultss.com/developers/index.md" ], "all_in_one": "https://bcmresultss.com/llms-full.txt" }, "discovery": [ "https://bcmresultss.com/robots.txt", "https://bcmresultss.com/sitemap.xml", "https://bcmresultss.com/.well-known/api-catalog", "https://bcmresultss.com/.well-known/mcp/server-card.json", "https://bcmresultss.com/.well-known/agent-card.json", "https://bcmresultss.com/.well-known/agent-skills/index.json", "https://bcmresultss.com/.well-known/ai-catalog.json", "https://bcmresultss.com/auth.md" ], "rules": [ "Read tools are free to call.", "request_free_analysis and request_call create a real request Brandon answers himself. Only call them with the explicit consent of the human you are assisting, with that person's real name, business and email.", "Check get_requirements before request_call.", "Five write requests per IP per day.", "Do not invent prices: the monthly rate is given in writing on the call." ] } ``` Same contract in Markdown: [/llms.txt](https://bcmresultss.com/llms.txt). Every page as one file: [/llms-full.txt](https://bcmresultss.com/llms-full.txt). --- 01 IN THE BROWSER ## WebMCP tools. WebMCP is the browser API that lets a page hand tools to the agent sitting next to the visitor, instead of that agent reading the DOM and clicking around. Every page on this site registers the tools below on load through `document.modelContext.registerTool()` (and `navigator.modelContext` where the browser exposes it). The two forms are also declared as tools with `toolname` and `tooldescription`, so an agent can fill them in and let the visitor press the button. | Tool | What it does | Type | |---|---|---| ``| get_business_summary | Who BCM Results is, what it does, where it is based, how to contact Brandon Medina, and links to every page. Start here. | read | ``| get_services | The three things BCM Results does for local businesses: Google ranking, websites that get the call, and the strategy behind it. | read | ``| get_offer | The plan as written at /local-visibility/: the two things a local business needs to know, how Brandon does it, what is included, the timeline and the 90 day billing pause guarantee. | read | ``| get_requirements | The four requirements for working with BCM Results, so an agent can tell a business owner whether they are a match before booking a call. | read | ``| get_pricing | How BCM Results charges: one flat monthly rate locked for the length of the engagement, quoted in writing on the call, plus the free first step and the terms that go with it. | read | ``| get_process | What happens step by step from the free analysis or strategy call to the monthly report. | read | ``| get_faq | Frequently asked questions with Brandon's answers. Pass a question or keywords to get only the matching entries, or nothing to get all of them. | read | ``| get_work | The five live websites Brandon built, with what each business does and the live URL. | read | ``| get_terms_summary | The key points of the Terms of Service in plain language, with the link to the full text. | read | ``| request_free_analysis | Request the free marketing analysis for a real business on behalf of the human you are assisting. Brandon emails the analysis within 2 business days. Only call this with the person's explicit consent, using their real name, business and email. No obligation, no follow up unless they reply. | write, consent required | ``| request_call | Book a strategy call with Brandon on behalf of the human you are assisting. Brandon replies within 2 business days with two time slots. Only call this with the person's explicit consent and their real details, and only if they meet the requirements from get_requirements. | write, consent required | ### Rules for the write tools - Only call `request_free_analysis` or `request_call` when the person you are helping has agreed, using their real name, business and email. They are not a test surface. - Check `get_requirements` before booking a call. If the business does not match, the free analysis is still open to them. - Each request goes to Brandon directly. He replies within 2 business days from brandon@bcmresultss.com. There is no list and no automated follow up. - Five requests per IP address per day. After that the answer is 429 and the email address above. ### Trying it in Chrome WebMCP is in an origin trial from Chrome 149. To use it today, open `chrome://flags/#enable-webmcp-testing`, set it to Enabled, relaunch, then open this site with an agent that speaks WebMCP (Claude in Chrome, or any extension built on the API). Ask it to list the tools on this page. Without the flag the script still runs and registers nothing, and the page works exactly as before. Anything on the page can also be checked from the console: `BCMTools.call("get_pricing")` returns the same result the agent would get. --- 02 FROM ANYWHERE ## MCP server. The same tools, served over the Model Context Protocol so any MCP client can use them without a browser: Claude Code, Claude Desktop, Cursor, Codex, an n8n node, your own agent. Streamable HTTP, stateless, public, no authentication. Protocol versions 2024-11-05 through 2026-07-28. ``` Endpoint https://bcmresultss.com/mcp Server card https://bcmresultss.com/.well-known/mcp/server-card.json Transport streamable-http (POST JSON-RPC 2.0, JSON responses) Auth none Capabilities tools, resources (llms.txt, every page as Markdown, openapi.json) ``` ### Connect ``` claude mcp add --transport http bcm-results https://bcmresultss.com/mcp ``` ### By hand ``` curl -s https://bcmresultss.com/mcp -H "content-type: application/json" -H "accept: application/json, text/event-stream" \ -d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-06-18","capabilities":{},"clientInfo":{"name":"curl","version":"1"}}}' curl -s https://bcmresultss.com/mcp -H "content-type: application/json" -H "accept: application/json, text/event-stream" \ -d '{"jsonrpc":"2.0","id":2,"method":"tools/list"}' curl -s https://bcmresultss.com/mcp -H "content-type: application/json" -H "accept: application/json, text/event-stream" \ -d '{"jsonrpc":"2.0","id":3,"method":"tools/call","params":{"name":"get_faq","arguments":{"question":"contract"}}}' ``` --- 03 PLAIN HTTP ## REST API. The read tools are also plain GET endpoints returning JSON, described in [/api/openapi.json](https://bcmresultss.com/api/openapi.json) (OpenAPI 3.1) and listed in [/.well-known/api-catalog](https://bcmresultss.com/.well-known/api-catalog) (RFC 9727). CORS is open on all of them. ``` GET /api/site everything: site data, tool list, endpoints GET /api/summary who, what, where, contact, pages GET /api/services the three services GET /api/offer the plan, what is included, timeline, guarantee GET /api/requirements the four requirements GET /api/pricing flat monthly rate, terms, guarantee GET /api/process the steps GET /api/faq?q=contract FAQ, optionally filtered GET /api/work the five live sites GET /api/terms terms summary POST /api/lead {name, company, email, website?, phone?, city?, notes?, source?} creates a request ``` ### A2A For agent to agent clients there is an [Agent Card](https://bcmresultss.com/.well-known/agent-card.json) and a JSON-RPC endpoint at `/a2a` that answers questions about BCM Results in plain text (`SendMessage` in A2A 1.0, `message/send` in 0.3). It answers immediately and keeps no tasks. ``` curl -s https://bcmresultss.com/a2a -H "content-type: application/json" \ -d '{"jsonrpc":"2.0","id":1,"method":"SendMessage","params":{"message":{"messageId":"m1","role":"ROLE_USER","parts":[{"text":"What does it cost and what are the terms?"}]}}}' ``` --- 04 READING ## Markdown for agents. Every page has a Markdown twin. Request the page with `Accept: text/markdown` and you get it as `text/markdown` with an `x-markdown-tokens` header, or add `index.md` to the path. HTML stays the default for everyone else. ``` curl -s https://bcmresultss.com/local-visibility/ -H "accept: text/markdown" curl -s https://bcmresultss.com/local-visibility/index.md ``` - [/llms.txt](https://bcmresultss.com/llms.txt) the map: what is where, in one short file - [/llms-full.txt](https://bcmresultss.com/llms-full.txt) every page as Markdown in one file - [/index.md](https://bcmresultss.com/index.md) home - [/local-visibility/index.md](https://bcmresultss.com/local-visibility/index.md) the plan - [/terms-of-service/index.md](https://bcmresultss.com/terms-of-service/index.md) terms of service - [/developers/index.md](https://bcmresultss.com/developers/index.md) this page ### Discovery files - [/robots.txt](https://bcmresultss.com/robots.txt) AI crawlers allowed by name, Content-Signal: ai-train=yes, search=yes, ai-input=yes - [/sitemap.xml](https://bcmresultss.com/sitemap.xml) every page - [/.well-known/api-catalog](https://bcmresultss.com/.well-known/api-catalog) RFC 9727 API catalog, also in the Link header of every page - [/.well-known/mcp/server-card.json](https://bcmresultss.com/.well-known/mcp/server-card.json) MCP server card - [/.well-known/agent-card.json](https://bcmresultss.com/.well-known/agent-card.json) A2A agent card - [/.well-known/agent-skills/index.json](https://bcmresultss.com/.well-known/agent-skills/index.json) agent skills index, one skill: how to use this site - [/.well-known/ai-catalog.json](https://bcmresultss.com/.well-known/ai-catalog.json) ARD capability manifest - [/auth.md](https://bcmresultss.com/auth.md) auth: there is none, everything here is public ### What is stored Nothing about you until you send a request. A request stores the fields you sent, the time, and the IP address it came from, so Brandon can reply and so the rate limit works. No cookies, no analytics scripts, no tracking pixels on this site. Questions about any of this: [brandon@bcmresultss.com](mailto:brandon@bcmresultss.com).