Contact

Reach out to get your free consultation with Dr. Peter H. Addy

a photo of a person using a laptop

Schedule Online

Contacting me for a free consultation is a simple and convenient process. By scheduling online, you can easily secure your spot for a call. When using the scheduler, all you need to do is enter your phone number and select a suitable time for the call. I will personally reach out to you, allowing both of us to get to know each other better and discuss your needs.

It’s important to note that when it comes to data security, I value your privacy. With my background as a faculty member at Yale University and the Department of Veterans Affairs, I understand the importance of secure communication. While email, online scheduling forms, and texting are usually not secure, I ensure the highest level of security and encryption in my private practice. For secure and encrypted messaging, I recommend using Proton, a free service available for both smartphones and web users.

Location

6118 SE Belmont St.
Ste 403
Portland OR 97215

My office is conveniently situated in SE Portland’s Mt. Tabor Neighborhood. Positioned at the northwest corner of Mt. Tabor Park, the location offers easy accessibility via the 15 and 71 bus lines. Upon arriving, you can find Suite 403, which is shared with Àureo PDX. The building and my office are ADA compliant, and gender-neutral bathrooms are available for your convenience.

Online Sessions Available For Oregon and Washington Residents

If you reside in Oregon or Washington, you have the option to benefit from my online therapy services. Through video calls, you can engage in therapy sessions from the comfort of your own home. Online therapy has proven to be safe and effective, and I am more than willing to address any questions or concerns you may have about this approach.

* controller.abort(), { once: true }); // ── Tool 1: Get practice information ──────────────────────────────────── navigator.modelContext.registerTool({ name: "get_practice_info", description: "Get information about Dr. Peter H. Addy's psychedelic-informed psychotherapy practice, including bio, credentials (LPC, PhD), specializations, and how to get in touch.", inputSchema: { type: "object", properties: {}, required: [], }, signal, execute: async () => { try { const [aboutPages, contactPages] = await Promise.all([ fetch("/wp-json/wp/v2/pages?slug=about&_fields=title,content,excerpt,link") .then((r) => r.json()) .catch(() => []), fetch("/wp-json/wp/v2/pages?slug=contact&_fields=title,content,link") .then((r) => r.json()) .catch(() => []), ]); return { name: "Dr. Peter H. Addy, LPC, PhD", specialization: "Psychedelic-Informed Psychotherapy", site: "https://peterhaddy.com", about: aboutPages[0] ? { title: stripHtml(aboutPages[0].title?.rendered), excerpt: stripHtml(aboutPages[0].excerpt?.rendered), url: aboutPages[0].link, } : null, contact: contactPages[0] ? { url: contactPages[0].link } : { url: "https://peterhaddy.com/contact/" }, }; } catch (err) { return { error: err.message }; } }, }); // ── Tool 2: Search site content ────────────────────────────────────────── navigator.modelContext.registerTool({ name: "search_content", description: "Search Dr. Addy's published articles and pages about psychedelic therapy, MDMA, psilocybin, ketamine, mental health, trauma, PTSD, and related topics.", inputSchema: { type: "object", properties: { query: { type: "string", description: 'Search terms, e.g. "MDMA therapy", "psilocybin depression", "ketamine"', }, limit: { type: "number", description: "Max results to return (default: 5, max: 20)", }, }, required: ["query"], }, signal, execute: async ({ query, limit = 5 }) => { const n = Math.min(Number(limit) || 5, 20); const q = encodeURIComponent(query); const fields = "_fields=id,title,excerpt,link,type,date"; try { const [posts, pages] = await Promise.all([ fetch(`/wp-json/wp/v2/posts?search=${q}&per_page=${n}&${fields}`) .then((r) => r.json()) .catch(() => []), fetch(`/wp-json/wp/v2/pages?search=${q}&per_page=${n}&${fields}`) .then((r) => r.json()) .catch(() => []), ]); const results = [...posts, ...pages] .slice(0, n) .map((item) => ({ title: stripHtml(item.title?.rendered), excerpt: stripHtml(item.excerpt?.rendered), url: item.link, type: item.type, date: item.date, })); return { query, count: results.length, results }; } catch (err) { return { query, error: err.message, results: [] }; } }, }); // ── Tool 3: Get recent articles ────────────────────────────────────────── navigator.modelContext.registerTool({ name: "get_recent_articles", description: "Get the most recent articles and blog posts from Dr. Addy about psychedelic therapy and mental health.", inputSchema: { type: "object", properties: { count: { type: "number", description: "Number of articles to return (default: 5, max: 20)", }, }, required: [], }, signal, execute: async ({ count = 5 }) => { const n = Math.min(Number(count) || 5, 20); try { const posts = await fetch( `/wp-json/wp/v2/posts?per_page=${n}&_fields=title,excerpt,link,date,categories` ) .then((r) => r.json()) .catch(() => []); return posts.map((p) => ({ title: stripHtml(p.title?.rendered), excerpt: stripHtml(p.excerpt?.rendered), url: p.link, date: p.date, })); } catch (err) { return { error: err.message }; } }, }); // ── Helper ─────────────────────────────────────────────────────────────── function stripHtml(html) { if (!html) return ""; return html .replace(/<[^>]+>/g, " ") .replace(/\s+/g, " ") .trim(); } })();